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词性标注集
解析:
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