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
解析:
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词性标注集
解析:
说明:词法分析(分词,词性标注,命名实体识别),句法分析(依存句法分析),语义分析(语义角色标注)。
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是一个书写匹配器对象时允许直接定义匹配规则的框架。
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词性标注集
解析:
a | adjective | 美丽 |
b | other noun-modifier | 大型, 西式 |
c | conjunction | 和, 虽然 |
d | adverb | 很 |
e | exclamation | 哎 |
g | morpheme | 茨, 甥 |
h | prefix | 阿, 伪 |
i | idiom | 百花齐放 |
j | abbreviation | 公检法 |
k | suffix | 界, 率 |
m | number | 一, 第一 |
n | general noun | 苹果 |
nd | direction noun | 右侧 |
nh | person name | 杜甫, 汤姆 |
ni | organization name | 保险公司 |
nl | location noun | 城郊 |
ns | geographical name | 北京 |
nt | temporal noun | 近日, 明代 |
nz | other proper noun | 诺贝尔奖 |
o | onomatopoeia | 哗啦 |
p | preposition | 在, 把 |
q | quantity | 个 |
r | pronoun | 我们 |
u | auxiliary | 的, 地 |
v | verb | 跑, 学习 |
wp | punctuation | ,。! |
ws | foreign words | CPU |
x | non-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
相关文章推荐
- Stanford CoreNLP学习日记1
- Stanford Corenlp学习笔记——词性标注
- Stanford CoreNLP – Core natural language software
- 1.getting started Stanford CoreNLP
- stanford corenlp的TokensRegex
- Stanford CoreNLP生成CoNLL数据格式
- 开源中文分词工具探析(六):Stanford CoreNLP
- Stanford CoreNLP遇到的问题
- 如何使用Stanford CoreNlp做中文情感分析
- Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案
- Stanford CoreNLP在eclipse中运行出现关于SLF4J的ERROR
- 将Stanford CoreNLP的解析结果构造为json格式
- stanford coreNLP 在自己的工程下按文件处理
- 用Python+StanfordCoreNLP做中文命名实体分析
- 使用Stanford CoreNLP的Python封装包处理中文(分词、词性标注、命名实体识别、句法树、依存句法分析)
- Stanford CoreNLP 3.6.0 使用入门
- Stanford CoreNLP--Named Entities Recognizer(NER)
- Eclipse下使用Stanford CoreNLP的方法
- [译] 第二十天:Stanford CoreNLP - 用Java对Twitter进行情感分析
- Stanford CoreNLP--常量定义