世界语言资源平台

  • 首页
  • 标签
  • 归档

Hownet

发表于 2018-03-07

提供者:金天华

  • Welcome to Hownet

  • 简介:

    知网(Hownet)是我国计算语言学家董振东、董强在上世纪90年代提出并制作的一个常识知识库。知网以汉语和英语的词汇所代表的概念为描述对象,意在揭示概念与概念之间及概念所具有的属性之间的关系。这也是知网对“知识”的定义,将知识看做一种系统关系,并将之结构化、可视化,就是知网所做的事情。
  • 知网的特点:

    知网采用意义分解的方法来描述概念。它从词语的义项中抽取出最小的意义单位(即义原),用义原和角色关系来描述词汇和词汇概念。义原不仅是知网中最小的语义单位,也是知网知识系统的基本单位。在这个过程中,董振东和董强先生始终坚持“分类宜粗不宜细,特征描述宜粗不宜细”的原则,使得知网2000个义原都是唯一而没有歧义的。

    事件概念分类的双轴轮(Biaxial Theory)是知网构架的支点,充分揭示了事物间复杂的关系,便于建立概念的描述体系和建立推理机制。知网中事件可以分为动态和静态两种,静态的事件又可以分为表示关系的和表示事物发展状态的,动态的事件表示行为动作的“改变”。在知网中,事件共计812类,除事件自身这一最高类别外,静态事件有215类,动态事件有596类。静态事件中,表示关系的有52类,表示状态的有163类。动态事件中,与静态事件中表示关系的相对应,即表示改变关系的有222类,而与静态事件中表示状态的相对应,即表示改变状态的有336类。在596类动态事件中,还包括了38类被知网称为“泛动”的事件,就是表示“行动”但没有明确表示改变关系还是改变状态的词,例如“试”“做”等。
  • 知网系统的概貌:

    知网系统包括了下列数据文件和程序:

    1. 中英双语知识词典:包含内容有框架网描写的词汇和义原释义及语义角色。根据事件、实体属性、第二特征等分类别放置;
    知网文档分类.png

    2. 知网管理工具:包含了知网的概念计算工具和语义相似度计算工具及其API;
    知网工具说明.png

    3. 知网说明文件:
      动态角色与属性,
      词类表,
      同义、反义以及对义组的形成,
      事件关系和角色转换,
      标识符号及其说明
    知网API.png

    基于知网的义原分析,我们可以计算词语之间的相似度以及抽取词语框架。最新版本的知网规模如下:

    知网规模.png

  • 相关论文

  1. Dong. Zhendong. Knowledge description: what, how, and who ?[A]. Manuscript & Program of International Symposium on Electronic Dictionary [C]. Tokyo:1988.18.
  2. Zhendong Dong, Qiang Dong. HowNet and the Computation of Meaning [M]. Singapore:World Scientific Publishing Company, 2006.
  3. 董振东、董强、郝长伶,知网的理论发现 [J]中文信息学报,2007.7.
  4. 刘群,李素建,基于《知网》的词汇语义相似度计算 第三届中文词汇语义学研讨会论文集
  5. Yilin Niu, Ruobing Xie, Zhiyuan Liu, Maosong Sun. Improved Word Representation Learning with Sememes. In ACL, 2017.
  6. Ruobing Xie, Xingchi Yuan, Zhiyuan Liu, Maosong Sun. Lexical Sememe Prediction via Word Embeddings and Matrix Factorization. In IJCAI, 2017.
  7. Xiangkai Zeng, Cheng Yang, Cunchao Tu, Zhiyuan Liu, Maosong Sun. Chinese LIWC Lexicon Expansion via Hierarchical Classification of Word Embeddings with Sememe Attention. In AAAI, 2018.

SnowNLP

发表于 2018-03-07

提供者:董文伟

1:下载地址

https://github.com/isnowfy/snownlp

2:工具简介

SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。

关于功能:

• 中文分词(Character-Based Generative Model)

• 词性标注(TnT 3-gram 隐马)

• 情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)

• 文本分类(Naive Bayes)

• 转换成拼音(Trie树实现的最大匹配)

• 繁体转简体(Trie树实现的最大匹配)

• 提取文本关键词(TextRank算法)

• 提取文本摘要(TextRank算法)

• tf,idf

• Tokenization(分割成句子)

• 文本相似(BM25)

• 支持python3(感谢erning)

关于训练:

现在提供训练的包括分词,词性标注,情感分析,而且都提供了我用来训练的原始文件 以分词为例 分词在snownlp/seg目录下

from snownlp import seg

seg.train(‘data.txt’)

seg.save(‘seg.marshal’)

#from snownlp import tag

#tag.train(‘199801.txt’)

#tag.save(‘tag.marshal’)

#from snownlp import sentiment

#sentiment.train(‘neg.txt’, ‘pos.txt’)

#sentiment.save(‘sentiment.marshal’)

这样训练好的文件就存储为seg.marshal了,之后修改snownlp/seg/init.py里的data_path指向刚训练好的文件即可

2:使用教程

1:编译和安装

方法一:

将github上的安装文件下载到服务器,运行python setup.py进行安装

方法二:

在命令窗口cmd下面运行pip install snownlp

2:使用方法

1:分词

首先import SnowNLP 将句子放入SnowNLP;输出s.words

2:词性标注

首先import SnowNLP 将句子放入SnowNLP;输出s.tags

3:情绪判断

返回值为正面情绪的概率,
越接近1表示正面情绪
越接近0表示负面情绪

4:关键词抽取

3:相关论文

欧阳效福. 基于游客微博“大数据”分析的厦门旅游环境意象研究[D]. 厦门大学, 2016.

Wikidata知识库

发表于 2018-03-07

提供者:苗菁菁
维基数据(英语:Wikidata)

Wikidata是维基媒体基金会主持的一个自由的协作式多语言辅助知识库,旨在为维基百科、维基共享资源以及其他的维基媒体项目提供支持。它是Wikipedia、Wikivoyage、Wikisource中结构化数据的中央存储器,并支持免费使用。每个文档都有一个主题或一个管理页面,且被唯一的数字标识。

从Wikidata上面获取数据的几种方法
Wikidata网站主页:
https://www.wikidata.org/wiki/Wikidata:Main_Page

Wikipedia网站主页:
https://www.wikipedia.org/

一、利用正则表达式之类的方法从网页源代码中抽取数据
这种方法需要获取目标网站的源码,是比较传统的方法,本文就不做考虑。

二、利用wikipedia提供的api(Python库)
wikipedia库的网址:https://pypi.python.org/pypi/wikipedia/
直接利用pip语句安装wikipedia库

pip install wikipedia

可以获取目标网站的源码,目录,图片,链接,正文版本信息等等直接能在网页上显示的内容
我写好了一份基本语句的使用方法,过几天上传到网上供大家下载。

三、使用SPARQL语句查询wikidata的数据关系
SPARQL介绍
SPARQL (SPARQL Protocol and RDF Query Language),是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。SPARQL 协议和 RDF 查询语言(SPARQL)于2008年1月15日正式成为一项W3C推荐标准。SPARQL构建在以前的 RDF 查询语言(例如 rdfDB、RDQL 和 SeRQL)之上,拥有一些有价值的新特性。[百度百科]
文档地址:https://www.w3.org/TR/sparql11-query/#rdfDataset
使用地址:https://query.wikidata.org/
比如网站上的cats的例子:
https://query.wikidata.org/
可以实现查询三元组,建立树形、图形结构化数据的功能

四、使用wikidata提供的mediawiki
网址:https://www.mediawiki.org/wiki/API:Main_page
用任意编程语言向目标URL发送一个HTTP GET请求,可得到一个json,ttl等格式的文档
Mediawiki可以直接获取数据,需要参考他提供的格式
文档地址:https://www.mediawiki.org/w/api.php?action=help
测试沙盒地址:https://en.wikipedia.org/wiki/Special:ApiSandbox

五、下载wikidata数据源文件进行关系抽取
下载地址:https://www.wikidata.org/wiki/Wikidata:Database_download
文件很大,比如json格式:https://dumps.wikimedia.org/wikidatawiki/entities/

TensorFlow

发表于 2018-03-07

提供者:胡紫娟

1.简单介绍

1.1 TensorFlow名字的由来

  1. TensorFlow是Google开源的一款人工智能学习系统。
  2. Tensor的意思是张量,代表N维数组;Flow的意思是流,代表基于数据流图的计算。
  3. 把N维数字从流图的一端流动到另一端的过程,就是人工智能神经网络进行分析和处理的过程。

1.2 TensorFlow安装

  1. 系统win7
  2. 安装Python,我这里下载的是版本3.5.2,下载地址
  3. 安装Eclipse,下载地址,导入pydev插件
  4. cmd下pip install tensorflow,导入TensorFlow模块

注意: 安装的时候有可能出现各种问题,要特别留意安装版本问题,以及环境变量的配置。

1.3 TensorFlow学习过程

对于计算机专业来说,学习任何新的工具,一定要以官方文档为主,网上各种教程为辅。
以下为个人的学习过程(代码放在个人GitHub上)

  1. 基础入门: 我这里看的是中文的官方文档链接
  2. 简单练手项目:Mnist手写识别练习——GitHub地址
  3. TensorBoard练手项目:LSTM循环神经网络——GitHub地址

2.TensorFlow基础知识

2.1 张量Tensor

在TensorFlow框架中,所有的数据都表示为张量Tensor,可以看成矩阵、数组、列表,在不同的编程系统中这几种数据类型都很类似。区别是,在TensorFlow深度学习框架中的Tensor,通常都是高维度的数据。

2.2 计算图Graph

TensorFlow 是一个编程系统, 使用图Graph来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组. 例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 batch, height, width, channels。
计算图可接受的数据除张量Tenser外,还可接受numpy中的数据对象矩阵ndarray

2.3 会话Session

当我们建立好计算图之后,其实这只是一个计算框架,数据并没有传进来。我们需要启动一个会话Session,一个session其实可以启动多张计算图Graph,在这个会话中,我们可以传入数据,访问图中任何一个节点。

2.4 feed_fetch机制

启动会话Session后的赋值和访问节点操作。
feed机制,为已经构建好的计算图中的占位符placeholder节点传入数据。
fetch机制,要获取计算图中的节点op的值,可以通过fetch方式

3.简单练习

有了以上TensorFlow的基础知识后,我们便可以简单启动一个小程序了。

1
2
3
4
5
6
7
8
9
10
11
import tensorflow as tf
#构建计算图——3个节点
input1 = tf.placeholder(tf.float32) # 占位符
input2 = tf.constant(2.) #常量
output = tf.add(input1, input2) #加法操作
#启动会话
with tf.Session() as sess:
print( sess.run([output], feed_dict={input1:[7.]}))#feed机制向placeholder传数据

# 输出:
# [array([9.], dtype=float32)]
[array([ 9.], dtype=float32)]

4 相关paper

Comparative Study of Deep Learning Software Frameworks
TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning
TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems

flask

发表于 2018-03-07

提供者:程玥

1.工具名称:flask

2.链接,下载地址:

下载easy_install:
http://pypi.python.org/pypi/setuptools
下载后在cmd下执行python ez_setup.py
在cmd中安装flask:

1.安装虚拟环境:输入easy_install virtualenv

C:\Users\cheng>easy_install virtualenv
Searching for virtualenv
Best match: virtualenv 15.1.0
Processing virtualenv-15.1.0-py3.6.egg
virtualenv 15.1.0 is already the active version in easy-install.pth
Installing virtualenv-script.py script to d:Scripts
Installing virtualenv.exe script to d:Scripts

Using d:\lib\site-packages\virtualenv-15.1.0-py3.6.egg
Processing dependencies for virtualenv
Finished processing dependencies for virtualenv

2.然后cd到myvir目录的Scripts下输入activate.bat,然后输入easy_install Flask

即可安装成功

3.简介

Flask是一个基于Werkzeug,Jinja 2 轻量级的web开发框架, 使用Python开发, 上手简单。
webpy的优势主要在于“小”,如果你想将它引用在项目中是非常简单的事,也就是说学习成本很低。但它的缺点也很明显,后续扩展很麻烦,插件比较少,想要快速开发一个网页几乎自己要写很多东西。

然后简单介绍一下flask,flask也是一款比较出名的微框架,虽然它的插件没有Django多,但完全够用,这个款架有个良好的社区,学习成本也先对小一点。

下面写一下简单的入门知识,很多来自flask文档http://flask.pocoo.org/,这个文档我认为很好。里面不仅提到flask相关的知识,而且包含一些在开发过程中需要注意的安全性问题和注意事项。
开源论坛:https://github.com/shiyanhui/Young
一个打字系统的例子:https://github.com/TrustMe5/TypingSystem
博客的样板例子:https://github.com/Light07/flask_blog
https://github.com/sunshine-sjd/MyFirstBlog
https://github.com/qyzxg/myblog
开源的例子非常多,可以简单快速的做出你需要的网页

4.hello word

1
2
3
4
5
6
7

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__": app.run()

一个最小的应用
在输入helloword代码后,把它保存为 hello.py (或是类似的),然后用 Python 解释器来运行。 确保你的应用文件名不是 flask.py ,因为这将与 Flask 本身冲突。

1
2
$ python hello.py
* Running on http://127.0.0.1:5000/

现在访问 http://127.0.0.1:5000/ ,你会看见 Hello World
在这段代码中:
1.首先,我们导入了 Flask 类。这个类的实例将会是我们的 WSGI 应用程序。

2.接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。

3.如果你使用单一的模块(如本例),你应该使用 name ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 ‘main‘ 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。详情见 Flask 的文档。

4.然后,我们使用 route() 装饰器告诉 Flask 什么样的URL 能触发我们的函数。
这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想要显示在用户浏览器中的信息。
最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if name == ‘main‘: 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。

静态文件

动态 web 应用也会需要静态文件,通常是 CSS 和 JavaScript 文件。理想状况下, 你已经配置好 Web 服务器来提供静态文件,但是在开发中,Flask 也可以做到。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。
给静态文件生成 URL ,使用特殊的 ‘static’ 端点名:

1
url_for('static', filename='style.css')

模板渲染

用 Python 生成 HTML 十分无趣,而且相当繁琐,因为你必须手动对 HTML 做转义来保证应用的安全。为此,Flask 配备了 Jinja2 模板引擎。

你可以使用 render_template() 方法来渲染模板。你需要做的一切就是将模板名和你想作为关键字的参数传入模板的变量。这里有一个展示如何渲染模板的简例:

1
2
3
4
5
6
from flask import render_template

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('hello.html', name=name)

数据库

首先我们要创建数据库模式。对于这个应用来说,一张表就足够了,而且只需支持 SQLite,所以会很简单。只需要把下面的内容放进一个名为 schema.sql 的文件,放在刚才创建的 flaskr 文件夹中:

1
2
3
4
5
6
drop table if exists entries;
create table entries (
id integer primary key autoincrement,
title string not null,
text string not null
);

应用设置

现在我们已经有了数据库模式,我们可以创建应用的模块了。让我们把它叫做 flaskr.py ,并放置在 flaskr 目录下。我们从添加所需的导入语句和添加配置部分开始。对于小型应用,可以直接把配置放在主模块里,正如我们现在要做的一样。但更简洁的方案是创建独立的 .ini 或 .py 文件,并载入或导入里面的值。

1
2
3
4
5
# all the imports
import os
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, \
render_template, flash

但是,

在flask中仅能做出一个优雅地交互网页,并不能实现多变好看的图标效果,需要实现图表效果的话,需要结合echarts进行制作
一般一个网站的搭建会选择使用:使用Flask(轻量级Python Web框架)、Mysql(轻量级数据库,其实主要原因是数据抓取的时候就存储在Mysql里)、Echarts(可视化图表的)。flask 是python web开发的微框架,Echarts酷炫的功能主要是javascript起作用,将两者结合起来,发挥的作用更大。

//

POWER-BI(DESKTOP)

发表于 2018-03-07

提供者:秦嘉

一、 下载链接:

https://powerbi.microsoft.com/zh-cn/desktop/

二、 工具简介

Power BI (Power Business Intelligence),是微软为Office组件提供的一套商业智能工具,能在较短时间内生成各种高度可视化的报表,主要应用于报表制作与发布。

Power BI Desktop 允许用户生成高级查询、模型和实现数据可视化效果的报表。 通过 Power BI Desktop,可以生成数据模型、创建报表,并通过发布到 Power

BI 服务共享工作。 Power BI Desktop 可免费下载。

Power BI 包括了如下的一些组件和服务:

Excel组件:

查询增强版(Power Query):轻松地链接公众数据或者企业数据源

建模增强版(Power Pivot):直接在Excel中创建复杂的数据模型

视图增强版(Power View):创建报表和交互式数据可视化分析视图

地图增强版(Power Map):在Excel中的3D地图标注地理空间数据的体验

Office365:

商业智能增强版网站:分享查看并于BI网站互动

商业智能Q&A:使用日常用语去发现、发掘并报告你的数据

查询和数据化管理:分享、管理查询数据源

三、 使用方式

1、 下载desktop版本power bi并简单注册

image

image

Power BI Desktop 中有三种视图:报表视图、数据视图和关系视图。Power BI Desktop 还包含 查询编辑器,其会在单独的窗口打开。 在查询编辑器中,你可以生成查询和转换数据,然后将经过优化的数据模型加载到 Power BI Desktop,并创建报表。

上图屏幕沿 Power BI Desktop 左侧自上而下显示了三个视图图标:报表、数据和关系。当前显示的视图以左侧的黄色条表示。 在此示例中,当前显示了报表视图。用户可以通过选择这三个图标的任意一个更改视图。

2、 通过get data导入数据

image

既可通过选择本地文件导入数据,也可通过“web”、“more”等加载在线数据。

选择文件之后,会显示“导航器”对话框。在这里选择需要导入的工作表(可以选择多个)。选择工作表之后,可以直接点“加载”,也可以点“编辑”来打开“查询编辑器”修改ETL脚本(加载后仍可重新编辑)。如果直接点“加载”之后,Power BI就会把选择的工作表中的数据加载进来,此时可以在“数据”视图中预览其中的数据,右侧的“字段”边栏也会显示表及其包含的字段。

3、 示例1:将 Excel 工作簿导入Power BI Desktop

若要导入工作簿,请在 Power BI Desktop 中选择文件 -> 导入 -> Excel 工作簿内容。

选择工作簿后,Power BI Desktop 将分析该工作簿并将其转换为 Power BI Desktop 文件 (.pbix)。 注意这是一次性事件,通过这些步骤创建 Power BI Desktop 文件后,Power BI Desktop 文件将独立于原始 Excel 工作簿,并且可以在不影响原始工作簿的情况下修改或更改(以及保存和共享)Power BI Desktop 文件。

导入完成后,将显示摘要页面,页面上会描述已转换项目并列出不能导入的所有项目。

image

选择关闭后,将在Power BI Desktop 中加载该报表。 下图显示了导入 Excel 工作簿后 Power BI Desktop 的状态:Power BI Desktop 基于工作簿内容自动加载报表。

image

由于已导入工作簿,你可以继续处理报表(例如创建新的可视化效果、添加数据或创建新的报表页)以及继续使用 Power BI Desktop 中的所有功能和特性。

4、 调整和合并数据

由于我们已经连接到数据源,我们需要调整数据以符合我们的需求。 有时候调整意味着 转换 数据,例如重命名列或表格、将文字更改为数字、删除行、将第一列设置为标题列等。

Power BI Desktop 中的查询编辑器除能在功能区中提供可用的工作,还能够充分利用右键菜单。 大部分可在转换功能区选择的内容也可通过右键单击项目(如某列)并从所显示的菜单中进行选择。

5、 生成报表

加载表格之后可以进行其他更改,而且你可以重新加载模型来应用所做的任何更改。 但是目前这样就够了。 在 Power

BI Desktop 报表视图中,你可以开始生成报表。

报表视图具有五个主要区域:

######1) 功能区,用于显示与报表和可视化效果相关联的常见任务

######2) 报表视图或画布,可在其中创建和排列可视化效果

######3) 底部的页面选项卡,用于选择或添加报表页

######4) 可视化效果窗格,你可以在其中更改可视化效果、自定义颜色或轴、应用筛选器、拖动字段等

######5) 字段窗格,可在其中将查询元素和筛选器拖到报表视图,或拖到可视化效果的筛选器窗格

若要创建可视化效果,只需将字段从字段列表拖到报表视图即可。

image

6、 共享报表

当我们已经有完整的 Power BI Desktop 报表,我们可以在 Power BI 服务上与他人共享。

有几种方法可以在 Power BI Desktop 中共享你的工作。 可以发布到 Power BI 服务,直接从 Power BI 服务上传 .pbix 文件,或保存 .pbix 文件,然后就像任何其他文件一样发送它。

image

当登录并完成此发布过程后,将看到以下对话框。

image

而当登录到 Power BI 时,你将在该服务的仪表板、报表和数据集区域看到你刚加载的 Power BI

Desktop 文件。

四、 相关论文

周敏.Power BI Premium 提供价格亲民的企业级功能[J].计算机与网络,2017,43(10):39.

王国平.Microsoft Power BI数据可视化与数据分析[M].北京:电子工业出版社.2018.

马世权著.从Excel到Power BI商业智能数据分析[M].北京:电子工业出版社.2018.

另附:工具官网指导:https://docs.microsoft.com/zh-cn/power-bi/desktop-getting-started

Word2vex

发表于 2018-03-07

提供者:杨丽雪
一、下载地址:https://github.com/tankle/word2vec
二、简介
word2vec是Google在2013年开源的一款将词表征为实数值向量的高效工具,即一个计算word vector的开源工具。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。采用的模型有CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和Skip-Gram两种。word2vec通过训练,可以把对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。因此,word2vec输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等等。
三、使用教程
1.代码下载:git clone https://github.com/tankle/word2vec.git 或者 download ZIP

2.快速入门
(1)在makefile文件目录下,运行“make”命令编译word2vec工具

(2)例如运行demo脚本:./demo-word.sh
demo-word.sh中的代码如下,主要工作为:
1> make(编译)
2> 如果不存在text8,自动下载下载训练数据。text8中为一些空格隔开的英文单词,但不含标点符号,一共有1671多万个单词。
3> 开始用text8语料训练
4> 训练完毕后,输入比如china
5> 调用distance,查找cosine距离最近的词,即为同义词或相似词

(3)命令行执行./word-analogy vectors.bin

3.Word2vec文件夹中各文件功能
./demo-word.sh找输入词的同义词
./demo-phrases.sh进行短语训练,在这里 New York就会被当成一个整体来看待
./demo-classes.sh 生成聚类文件,并且可以利用sorted语句进行排序
./word-analogy.sh+向量文件 向量的加法组合运算,输入词之间的运算:
vector(‘king’) - vector(‘man’) + vector(‘queen’) ≈ vector(‘woman’)
各-accuracy.sh文件计算相应准确度。
4.Word2vec扩展功能
本文选取的word2vec中的word2vec.c文件带有中文注释,可根据自己需要修改为批量处理。
此外,在train中文语料时,可用命令行 ./word2vec -train train_file -output vectors.bin -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -binary 1
以上命令表示的是输入文件是train_file,输出文件是vectors.bin,不使用cbow模型,默认为Skip-Gram模型。 每个单词的向量维度是200,训练的窗口大小为5,即当前词前五和后五个词语。不使用NEG方法,使用HS方法。-sampe指的是采样的阈值,词在训练样本中出现的频率越大,那么就越会被采样。-binary为1指的是结果二进制存储,为0是普通存储(普通存储的时候是可以打开看到词语和对应的向量的)。除了以上命令中的参数,word2vec还有几个参数对我们比较有用比如-alpha设置学习速率,默认的为0.025。-min-count设置最低频率,默认是5,如果一个词语在文档中出现的次数小于5,那么就会丢弃。-classes设置聚类个数,Word2vec源码中用的是k-means聚类的方法。
修改合适的参数进行训练 可得到pre-train出来的bin文件的词向量,用作为其他深度学习任务的预训练词向量。
四、相关论文

  1. Yoshua Bengio,Rejean D,Pascal V,Christian J. A Neural Probabilistic Language Model[J]. Journal of Machine Learning Research, 2003,3(0): 1137–1155
  2. A Scalable Hierarchical Distributed Language Model. Andriy Mnih and Geoffrey Hinton
  3. Efficient Estimation of Word Representations in Vector Space. Tomas Mikolov等
  4. Distributed Representations of Words and Phrases and their Compositionality.Tomas Mikolov等

HSK动态作文语料库

发表于 2018-03-07

提供者:杜成玉、张明慧
网址:http://bcc.blcu.edu.cn/hsk

一、背景与概况


汉语水平考试简称HSK,为测试母语非汉语者(包括外国人、华侨和中国少数民族考生)的汉语水平而设立的一项国际汉语能力标准化考试。HSK由北京语言大学汉语水平考试中心设计研制,包括基础汉语水平考试,初、中等汉语水平考试和高等汉语水平考试。HSK每年定期在中国国内和海外举办,凡考试成绩达到规定标准者,可获得相应等级的《汉语水平证书》。中国教育部设立国家汉语水平考试委员会,该委员会全权领导汉语水平考试,并颁发汉语水平证书。
HSK动态作文语料库是由北京语言大学崔希亮教授主持的一个国家汉办科研项目,于2003年7月启动,2006年12月建成后上网试运行,经过补充修改,现向社会正式开放。
该语料库的原始语料是1992—2005年部分外国考生参加高等汉语考试的作文答卷。语料库1.0版语料总数达到11569篇,共计424万字,是一个动态语料库。语料库有两个版本:标注语料和原始语料,标注语料是把考生作文答卷人工录入计算机并经人工标注各种中介语偏误的语料;原始语料是考生原始作文的电子扫描语料。同时,语料库还提供了历次考试的时间、地点和作文题目,以及考生信息:考生国籍、性别、作文分数、参加高等汉语水平考试的总分数及是否得到汉语水平证书及证书等级等。
运用该语料可进行对外汉语教学的多方面研究,如汉语中介语研究、第二语言习得研究、对外汉语教材研究等。

二、语料库特色


1、语料典型,填补了国内外汉语中介语语料库研制的空白。
2、规模大,用途广泛,可用于汉语中介语研究、对外汉语教材研究、汉语本体研究等。
3、语料有标注版语料和扫描版语料,功能各异,标注全面细致科学,标注内容有:
字处理:错字、别字、繁体字、异体字、拼音字、漏字、多字标注;
词处理:错词、缺词、多词、外文词、离合词错误标注;
句处理:句子成分残缺或多余错误标注、各种特殊句式、语序、动词重叠的错误标注、句式杂糅、未完句标注;
篇章处理:句间链接手段的错误标注、语义表达方面的错误标注;
标点符号处理:错误标点标注、空缺标点标注、多于标点标注。
4、各种用字错误、各种用词错误等统计信息丰富,考生国籍、性别等背景信息完备。
5、界面友好,使用方便。
6、免费开放,服务于教学科研。

三、语料库功能


1、字符串检索(关键词检索)
2、错句检索
3、错篇检索
4、全篇检索
5、查询条件的组合检索
6、属性设置
7、统计信息及相关检索

四、语料库内容简介

  1. 字处理:包括错字标注、别字标注、繁体字标注、异体字标注、拼音字标注、漏字标注、多字标注以及各种用字错误统计,总的字频统计等。
  2. 标点符号处理:包括错误标点标注、空缺标点标注、多余标点标注以及各种用词错误统计、总的词频统计等。
  3. 词处理:包括错词标注、缺词标注、多次标注、外文词标注、离合词错误标注以及各种用词错误统计、总的词频统计等。
  4. 句处理:包括句子成分残缺或多余的错误标注,各种特殊句式的错误标注,语序、动词重叠、句式杂糅、未完句等方面的错误标注以及各种句子错误的数据统计。
  5. 篇章处理:包括句间连接手段的错误标注,语义表达方面的错误标注以及篇章错误的数据统计。为了方便用户更充分地使用这些作文语料,语料库还提供了历次考试的时间、地点和作文题目以及下列考生信息:考生国籍、性别、作文分数、口试分数、客观试卷听力、阅读、综合表达各部分
  6. 分数和参加高等汉语水平考试的总分分数、是否得到汉语水平证书以及证书等级。

五、语料库的局限性


由于该语料库是外国考生参加高等汉语水平考试的作文答卷语料库,得到证书的考生均为已经达到高等教育水平的汉语学习者,
未得到证书的绝大部分考生也处于高级阶段的学习者。因此,利用这个预料局可以了解高级阶段外国学习者的汉语学习情况,进行横向的断面考察,
但无法进行纵向的学习过程考察,是该语料库的先天不足。

相关论文:


[1]张宝林 崔希亮 任杰. 关于“HSK动态作文语料库”的建设构想[A].第三届全国语言文字应用学术研讨会论文集[C],2004.
[2]张宝林. “HSK动态作文语料库”的特色与功能[J]. 国际汉语教育,2009.
[3]任海波. 关于中介语语料库建设的几点思考——以“HSK动态作文语料库”为例[J]. 语言教学与研究,2010.
[4]张宝林. 回避与泛化——基于“HSK动态作文语料库”的“把”字句习得考察[J]. 世界汉语教学,2010.
[5]李治平,李丛. HSK动态作文语料库语篇关联语使用情况统计分析[J]. 语言文字应用,2017.
[6]张烷灵. 基于HSK动态作文语料库介词“给”的偏误分析[J]. 现代语文(语言研究版),2017.
[7]谢小庆《HSK和MHK在考试质量方面的探索》

Microsoft CNTK

发表于 2018-03-07

提供者:李超

Computational Network Toolkit (CNTK) 是微软出品的开源深度学习工具包。本文介绍CNTK的基本内容,如何写CNTK的网络定义语言,以及跑通一个简单的例子。

根据微软开发者的描述,CNTK的性能比Caffe,Theano, TensoFlow等主流工具都要强。它支持CPU和GPU模式,所以没有GPU,或者神经网络比较小的实验,直接用CPU版的CNTK跑就行了。 其开源主页在 https://github.com/Microsoft/CNTK 它把神经网络描述成一个有向图的结构,叶子节点代表输入或者网络参数,其他节点计算步骤。 它支持卷积神经网络和递归神经网络。 由于CNTK刚推出不久,大众教程估计不多,而且bug估计也不少。我学习的时候,主要参考三个资料:

1.官方入门教程 https://github.com/Microsoft/CNTK/wiki/Tutorial 本文也主要以这里的教程为例

2.官方论坛 https://github.com/Microsoft/CNTK/issues

3.官方论文 http://research.microsoft.com/pubs/226641/CNTKBook-20160217..pdf

安装CNTK: https://github.com/Microsoft/CNTK/wiki/CNTK-Binary-Download-and-Configuration 去这个页面找符合自己系统的版本。 对于Windows用户,CNTK有编译好的CPU和GPU版本。已经编译好的包最方便了,解压,然后把目录(类似%…%、CNTK-2016-02-08-Windows-64bit-CPU-Only\cntk\cntk)添加到PATH变量中就行了。 有条件的人也可以自己编译源代码,稍微麻烦一些,各种依赖关系,好处是源码更新的比较快。

安装好CNTK之后,运行一个程序,就是一个简单的命令行: CNTK configFile=your_config_file , 其中,your_config_file 是网络的定义文件,大概长这样: command=Train:Test Train=[ action=”train”

NDLNetworkBuilder = [
...
]

SGD = [
...
]

reader = [
...

    ]

]

Test=[ … ]

运行的入口就是command命令,command后面接需要依次运行的模块,用冒号分开。 每个模块里面需要定义的事情比较类似,主要是定义输入的格式,网络结构,学习算法(目前只有SGD)和参数。 在定义网络结构的时候,会指明哪些节点是优化目标,哪些是评价指标,以及哪些是输出的点。

众所周知,把神经网络的隐藏层去掉之后,输入直接连到输出层,这样就行成了一个logistics regression分类器。所以https://github.com/Microsoft/CNTK/wiki/Tutorial 这个教程就指导大家如何构建一个LR。

Output模块和Test的流程基本一样,只不过最后一个不是评估,而是把属于OutputNodes的值给输出到文件。 Output模块会指定一个输出目录 outputPath = “LR.txt” , 输出的文件以“LR.txt”为前缀,再加上变量命作为文件名。例如”LR.txt.W0”。

#output the results Output=[

action=”write”

reader=[

readerType="UCIFastReader"

file="Test.txt"

features=[

    dim=$dimension$

    start=0

]

labels=[

    start=2

    dim=1

    labelType=regression

]

]

outputPath = “LR.txt” # dump the output as text
]

dumpNodeInfo 用来输出参数的值。这在调试中很有用,例如去看看网络的参数是如何变化的:

dumpNodeInfo=[

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
enter code here
action=dumpnode

printValues=true
]
####################################################################

B=LearnableParameter [1,1] NeedGradient=true

-6.67130613

####################################################################

EP=SquareError ( labels , s )

features=InputValue [ 2 x 1 {1,2} ]

labels=InputValue [ 1 x 1 {1,1} ]

LR=Logistic ( labels , s )

s=Sigmoid ( z )

t=Times ( W , features )

W=LearnableParameter [1,2] NeedGradient=true

1.23924482 1.59913719

####################################################################

z=Plus ( t , B )

全部的代码如下。 train文件 https://github.com/Microsoft/CNTK/wiki/Tutorial/Train-3Classes.txt
test 文件 https://github.com/Microsoft/CNTK/wiki/Tutorial/Test-3Classes.txt。 数据是2维的.
图片

相关论文:
F Seide , A Agarwal——-CNTK: Microsoft’s Open-Source Deep-Learning Toolkit

Tableau

发表于 2018-03-07

提供者:李浥菡

一.下载地址

tableau工具的下载地址(试用版): https://www.tableau.com/zh-cn/products/desktop/download.html

注:还未找到破解版,该版本为官网上的为期14天的免费试用版

二.简介

  Tableau在斯坦福大学诞生,它致力于帮助人们查看并理解数据,帮助用户快速分析、可视化并分享信息,它正逐渐成为优秀的数据分析工具之一。tableau下面有一系列的功能模块,tableau desktop、tableau server、tableau reader、tableau online等等,分别负责了不同的功能。tableau desktop是分析工具,用来创建分析,进行数据分析,tableau server是服务器,用来发布分析给企业相关权限的人而,tableau reader用来阅读分享。

其中tableau desktop可以生动地分析实际存在的任何结构化数据,以在几分钟内生成美观的图标、坐标图、仪表盘与报告。利用Tableau Desktop,您所创建出的一定是整洁而美观的可视化数据视图。它有着极佳的易用性,任何一个 Excel的使用者都会认为它是一个方便易学的工具。只需简单几步,就可以实现强大的数据分析功能。不仅如此,它的工作效率也比现有的数据分析工具的性能高出数倍。

三.教程

1.连接数据

tableau可连接很多类型的数据源,可连接到pdf、excel、json等文件类型,也可连接到各类型的数据库,如图所示:

(https://github.com/liyihanxx/python_tutorial/blob/master/pic/data.jpg)

以下用连接excel格式的文件做例子,该数据为淘宝店家的各项信息

连接成功以后页面就会显示excel文件中的各项属性的数据

(https://github.com/liyihanxx/python_tutorial/blob/master/pic/%E6%B7%98%E5%AE%9D.jpg)

2.绘图

到绘图界面可看到各项属性已被归到不同的维度值和度量值
维度值一般为纯文本的属性值,度量值一般为字符型可比较大小的属性值,如图所示:

(https://github.com/liyihanxx/python_tutorial/blob/master/pic/6.jpg)

a绘图时,根据自己做图时所需要的数据,在左边的维度值和度量值同时选中所需数据

b同时在界面右边的各种图形中会突出显示所选的数据可以绘制的几类图形

c选中该图形即可

下图的例子中为我所选的各个淘宝店铺的类别、店铺姓名以及店铺销量之间的关系,我在推荐图形中选择了填充气泡图

如下图,不同颜色代表了不同种类的商家,其中气泡大小表示不同商家的销量值

(https://github.com/liyihanxx/python_tutorial/blob/master/pic/base.jpg)

3.拖曳

我们可把标记下的各种属性通过拖曳到不同的标记下会显示出不同的结果
如图所示我通过把category属性拖曳到的标签下,可看出图形对各类商家进行了归类

(https://github.com/liyihanxx/python_tutorial/blob/master/pic/qipao.jpg)

四.参考书目

[1]书籍《人人都是数据分析师:Tableau应用实战》

[2]观看官网的视频,很多都已被翻译成中文,甚至还为我们准备了数据源,很适合入门学习

官网视频:https://www.tableau.com/zh-cn/learn/training

1…202122

CNLR

语料库、数据集及工具资源和教程

218 日志
3 标签
© 2018 CNLR
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4