您的位置:首页 > 其它

Stanford CoreNLP学习日记2

2017-08-04 16:34 477 查看
1. Hamcrest

解析:Hamcrest是一个书写匹配器对象时允许直接定义匹配规则的框架。

2. JUnit

解析:JUnit是一个Java编程语言编写的单元测试框架。

3. 中文分词常用模型

解析:

(1)正向(逆向)最大匹配。

(2)双向最大匹配。

(3)最大熵模型。

(4)条件随机场(CRF)模型。

(5)隐马尔可夫模型(HMM)模型。

(6)最大熵马尔科夫(MEMM)模型。

4. HanLP词典介绍

解析:

(1)核心词典

data/dictionary/CoreNatureDictionary.txt,来自人民日报2014分词语料库。

(2)BiGram文法词典

data/dictionary/CoreNatureDictionary.ngram.txt,由人民日报2014分词语料库训练而来。

(3)隐马尔可夫模型转移矩阵

data/dictionary/CoreNatureDictionary.tr.txt,由人民日报2014分词语料库训练而来。

(4)人名角色词典

data/dictionary/person/nr.txt,是基于角色标注的中国人名自动识别模块所依赖的词典。

(5)地名角色词典

data/dictionary/place/ns.txt,是基于层叠隐马模型的地名自动识别模块所依赖的词典。

(6)机构名角色词典

data/dictionary/organization/nt.txt,是基于角色标注的中文机构名识别模块所依赖的词典。

(7)用户自定义词典

data/dictionary/custom/CustomDictionary.txt,是一个质量较高的词库,补充了核心词典缺少的新词等。

(8)最大熵依存句法分析模型

data/model/dependency/MaxEntModel.txt.bin,最大熵句法的模型,训练自清华大学语义依存网络语料。

(9)CRF分词模型

data/model/segment/CRFSegmentModel.txt.bin,CRF分词器的模型,训练自人民日报2014分词语料。

5. 自动文摘(Automatic Summarization)[2]

解析:自动文摘(Automatic Summarization)方法主要有两种:Extraction和Abstraction。Extraction是抽取式自动文摘方法,通过提取文档中已存在的关键词,句子形成摘要;Abstraction是生成式自动文摘方法,通过建立抽象的语意表示,使用自然语言生成技术,形成摘要。

说明:TextRank算法基于PageRank,用于为文本生成关键字和摘要。

6. CRF中文分词训练数据格式

解析:第一列是文字本身,第二列文字类型,第三列是词位标记,其中S表示单个词,B表示开头,M表示中间,E表示结尾。第一列和第二列都是已知的数据,第三列是要预测的标注,即根据第一列的词语和和第二列的相关特征,预测第三列的标注。

说明:训练数据支持4tag和6tag两种格式,4tag和6tag的区别就是没有词中顺序状态。6tag的格式为S(单个词),B(词首),E(词尾),M1/M2/M(词中)。

7. gensim中的word2vec

解析:

from gensim.models import word2vec
sentences=word2vec.Text8Corpus(AAA) #加载分词后的文本
# sentences训练语料库,min_count小于该数的单词被剔除,size神经网络隐藏层单元数
model=word2vec.Word2Vec(sentences, min_count=5, size=50)
model.similarity(BBB, CCC) #计算两个词之间的余弦距离
model.most_similar(DDD) #计算余弦距离最接近DDD的10个词
model.save('word2vec_model') #保存模型
new_model=gensim.models.Word2Vec.load('word2vec_model') #加载模型
model[EEE] #EEE的词向量


8. Doc2Vec原理 [6][7]

解析:Doc2Vec的目的是获得文档的一个固定长度的向量表达,它包含2种实现方法,分别为DBOW(Distributed Bag of Words)和DM(Distributed Memory)。

9. KB-QA和DB-QA

解析:

(1)知识库问答(Knowledge-Based Question Answering,KB-QA)即给定自然语言问题,通过对问题进行语义理解和解析,进而利用知识库进行查询、推理得出答案。从应用领域的角度划分,知识库问答可以分为开放域的知识问答和特定域的知识问答。

(2)KBQA是基于知识库的问答,DBQA(Document-based Question Answering,DB-QA)是基于文档的问答。即KBQA利用的是结构化的知识,而DBQA所利用的是非结构化的文本。数据源的不同决定了它们不同的擅长领域,KBQA更适合回答what,when等事实性问题,而DBQA更适合回答why,how等解释性、述性问题。

(3)传统的KBQA系统根据其框架共同特征,都可以大概分为四个模块。即问题分析(Question Analysis)、短语映射(Phrase Mapping)、消歧(Disambiguation)和查询构建(Query Construction)。

10. SPARQL

解析:SPARQL(SPARQL Protocol and RDF Query Language)是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。

说明:资源描述框架RDF(Resource Description Framework)使用XML语法和RDF Schema(RDFS)来将元数据描述成为数据模型。

11. 知识图谱的存储

解析:知识图谱是基于图的数据结构,它的存储方式主要有两种形式:RDF存储格式和图数据库(Graph 

Database)。

12. OWL(Ontology Web Language)

解析:OWL指的是Web本体语言,构建在RDF的顶端之上,由XML来编写,用于处理Web上的信息。

13. 863词性标注集

解析:

aadjective美丽
bother noun-modifier大型, 西式
cconjunction和, 虽然
dadverb
eexclamation
gmorpheme茨, 甥
hprefix阿, 伪
iidiom百花齐放
jabbreviation公检法
ksuffix界, 率
mnumber一, 第一
ngeneral noun苹果
nddirection noun右侧
nhperson name杜甫, 汤姆
niorganization name保险公司
nllocation noun城郊
nsgeographical name北京
nttemporal noun近日, 明代
nzother proper noun诺贝尔奖
oonomatopoeia哗啦
ppreposition在, 把
qquantity
rpronoun我们
uauxiliary的, 地
vverb跑, 学习
wppunctuation,。!
wsforeign wordsCPU
xnon-lexeme萄, 翱
说明:词法分析(分词,词性标注,命名实体识别),句法分析(依存句法分析),语义分析(语义角色标注)。

14. Ontology(本体)

解析:Ontology(本体)是一种描述术语及术语间关系的概念模型。

参考文献:

[1] JUnit 4:http://junit.org/junit4/ 

[2] Textrank算法介绍:http://www.cnblogs.com/clover-siyecao/p/5726480.html

[3] CRF++中文分词:http://x-algo.cn/index.php/2016/02/27/crf-of-chinese-word-segmentation/

[4] CRF++模型格式说明:http://www.hankcs.com/nlp/the-crf-model-format-description.html

[5] 基于CRF++的中文分词:http://www.luozhipeng.com/?p=375

[6] 用Doc2Vec得到文档/段落/句子的向量表达:http://blog.csdn.net/aliceyangxi1987/article/details/75097598

[7] 基于gensim的Doc2Vec简析:http://blog.csdn.net/lenbow/article/details/52120230
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hamcrest textrank ontology