Stanford CoreNLP + Java 8:
斯坦福大学CoreNLP提供了一套人类语言技术工具。它可以给出词的基本形式,词类,是否是公司名称,人名等,规范日期,时间和数量,根据短语和句法依赖标记句子的结构,指出哪些名词短语是指相同的实体,表示情感,提取实体提及的特定或开放的类关系,得到人们所说的引号等等。
CoNLL X
CoNLL是一个由SIGNLL(ACL's Special Interest Group on Natural Language Learning: 计算语言学协会的自然语言学习特别兴趣小组)组织的顶级会议。CoNLL X (如CoNLL 2006)是它定义的语言学数据格式。
以CoNLL 2006为例,通过corenlp如何生成英语句子的CoNLL格式:
例句:The system, known as the society for worldwide interbank financial telecommunication, or swift, oversees the network used by most of the world's largest banks to conduct financial wire transfers.
保存为english.txt
第一步: 生成语法树:
java -Xmx2g -cp "stanford-corenlp-full-2017-06-09/*" edu.stanford.nlp.parser.lexparser.LexicalizedParser -outputFormat "penn" edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz english.txt >english.tree
第二步: 通过语法树生成CoNLL格式:
java -Xmx2g -cp "stanford-corenlp-full-2017-06-09/*" edu.stanford.nlp.trees.EnglishGrammaticalStructure -treeFile english.tree -conllx >english.conll.txt
句子中的每个单词一行,1行有10列,每列的定义:
1. ID:单词索引,每个新句子从1开始的整数;可能是多个词的标记的范围。
2. FORM:Word形式或标点符号。
3. LEMMA:词形的词条或词干。
4. UPOSTAG:从Google通用POS标签的修订版本中提取的通用词性标签。
5. XPOSTAG:语言特定的词性标签;下划线如果不可用。
6. FEATS:来自通用特征清单或来自定义的语言特定扩展的形态特征列表;下划线如果不可用。
7. HEAD:当前令牌的头部,它是ID的值或零(0)。
8. DEPREL:通用斯坦福与HEAD(root iff HEAD = 0)的依赖关系或者定义的语言特定的子类型之一。
9. DEPS:二级依赖项列表(head-deprel对)。
10. MISC:任何其他注释。