
读懂VnCoreNLP输出结果6列标注格式逐列解析与实用技巧【免费下载链接】VnCoreNLPA Vietnamese natural language processing toolkit (NAACL 2018)项目地址: https://gitcode.com/gh_mirrors/vn/VnCoreNLPVnCoreNLP 是一个专为越南语设计的自然语言处理工具包NAACL 2018 论文成果集成了分词、词性标注POS、命名实体识别NER和依存句法分析四大核心功能。很多新手第一次运行它面对终端里一行行由 6 列组成的结果时往往一头雾水——这 6 列分别代表什么如何读懂其中的 POS 标注、NER 标签和依存关系本文将逐列拆解 VnCoreNLP 输出结果的完整含义并附上实用的解读技巧帮你快速上手越南语 NLP 分析。VnCoreNLP输出结果长什么样VnCoreNLP 默认对文本执行分词 → 词性标注 → 命名实体识别 → 依存句法分析的完整流水线最终以6 列制表符分隔格式输出每个词的分析结果。以官方示例句子为例1 Ông Nc O 4 sub 2 Nguyễn_Khắc_Chúc Np B-PER 1 nmod 3 đang R O 4 adv 4 làm_việc V O 0 root 5 tại E O 4 loc 6 Đại_học N B-ORG 5 pob这种格式与 CoNLL-U 数据格式类似每行代表一个词用 Tab 分隔成 6 列句子之间以空行隔开。这一格式化逻辑可以直接在源码src/main/java/vn/pipeline/Word.java的toString()方法中看到核心字段定义也集中在该文件中。第 1 列词语序号Word Index第 1 列是当前词在句中的序号从 1 开始递增。它有两个关键用途定位后续第 5 列的中心词索引就是引用这个序号。计数序号连续的词构成一个句子序号会随句子重新从 1 开始。小技巧序号为 0 表示该词是整棵依存树的根即句子的核心谓语详见下文第 5 列。第 2 列词语形式Word Form第 2 列是经过分词后的词形注意这里的特殊约定越南语单词由音节组成分词后多音节复合词用下划线_连接例如Nguyễn_Khắc_Chúc人名和làm_việc工作。标点符号如句号.、逗号,会作为独立的词单独占一行。这一列的结果来自 VnCoreNLP 的词切分器模型文件位于models/wordsegmenter/wordsegmenter.rdr。如果你只想做分词可以通过-annotators wseg参数单独运行得到的就是纯分词结果。第 3 列POS 词性标注第 3 列是词性标注Part-of-Speech TagVnCoreNLP 使用 VLSP 2013 标准定义的 20 余种标签最常用的如下表所示标签含义标签含义Np专有名词V动词Nc量词性名词A形容词Nu单位名词P代词N普通名词R副词E介词M数词/量词C / Cc从属/并列连词CH标点符号在示例中Ông是量词性名词NcNguyễn_Khắc_Chúc是专有名词Npđang是副词Rlàm_việc是动词V。完整的标签表可以在项目的TagsetDescription.md和VLSP2013_POS_tagset.pdf中查阅词性标注模型位于models/postagger/vi-tagger。第 4 列NER 命名实体识别标签第 4 列是命名实体识别NER结果标记该词是否属于某个命名实体。VnCoreNLP 支持 4 种实体类型标签含义PER人名LOC地名ORG组织机构名MISC其他杂类实体标签采用BIO 标记法B-开头表示实体的第一个词BeginI-开头表示实体中间或后续词InsideO表示非实体。例如Ông Nc O O非实体 Nguyễn_Khắc_Chúc Np B-PER B-PER人名开始当一个人名由多个分词组成时后续部分会标注为I-PER方便你通过标签合并出完整的实体。NER 模型文件位于models/ner/vi-ner.xz。第 5 列中心词索引Head Index第 5 列是依存句法分析中的中心词head索引它指向当前词在句中的父节点序号即这个词从属于哪个词数值 1、2、3…指向句中某个词的序号例如Ông的 head 是 4说明它从属于第 4 个词làm_việc。数值 0表示该词是句子的根节点root通常就是核心谓语动词。示例中làm_việc的 head 为 0说明它是整句话的语义中心。把每一行的 head 索引连起来就构成了一棵以序号 0 为根的依存树——这正是第 6 列关系标签所依附的骨架。第 6 列依存关系类型Dependency Label第 6 列描述当前词与中心词之间的语法关系常用的关系标签包括标签含义标签含义root句子根节点sub主语dob直接宾语iob间接宾语nmod名词修饰语amod形容词修饰语adv状语vmod动词修饰语loc地点状语tmp时间状语pob介词宾语conj并列连接det限定词punct标点结合示例Ông是làm_việc的主语subtại是地点介词locĐại_học是介词tại的宾语pob。完整的关系列表见TagsetDescription.md和VnDT-treebank-description.pdf依存句法分析模型位于models/dep/vi-dep.xz。如何快速得到这 6 列输出结果方式一命令行一键运行将VnCoreNLP-1.2.jar与models文件夹放在同一目录然后执行java -Xmx2g -jar VnCoreNLP-1.2.jar -fin input.txt -fout output.txt-fin指定输入文件-fout指定输出文件默认为input.txt.out。-annotators可自由组合功能wseg,pos,ner,parse为全量默认只跑分词用wseg不加parse则结果只有 4 列缺少 head 和依存关系。方式二Java API 调用Java 用户可以通过vn.pipeline包编程调用核心流程参见src/test/java/VnCoreNLPExample.java中的完整示例初始化VnCoreNLP流水线构造Annotation对象调用annotate()后直接toString()输出 6 列结果或通过printToFile()写入文件。源码入口在src/main/java/vn/pipeline/VnCoreNLP.java。4 个实用解读技巧按空格切分再解析6 列以 Tab 分隔解析时用split(\t)即可安全拿到各列不要用空格切分词形里可能含空格。合并 NER 实体遇到B-开头的标签就开启一个新实体连续遇到I-就向后拼接词形直到遇到O结束——这是提取人名、地名最常用的方法。找句子核心直接过滤第 5 列为 0 的行其词形就是句子的核心动词常用于抽取谁做了什么的主干信息。按需裁剪 annotators只做关键词提取时可去掉parse速度更快、输出更简洁wseg,pos,ner组合对大多数任务已经够用。VnCoreNLP 的 6 列标注格式虽然看似复杂但只要理解了词形 → 词性 → 实体 → 依存这条流水线逻辑就能轻松驾驭越南语文本的结构化分析。建议对照本文示例用你自己的越南语句子跑一遍逐列验证很快就能熟练读懂 VnCoreNLP 输出结果了。【免费下载链接】VnCoreNLPA Vietnamese natural language processing toolkit (NAACL 2018)项目地址: https://gitcode.com/gh_mirrors/vn/VnCoreNLP创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考