
5分钟快速上手VnCoreNLP从安装配置到跑通第一个越南语处理示例【免费下载链接】VnCoreNLPA Vietnamese natural language processing toolkit (NAACL 2018)项目地址: https://gitcode.com/gh_mirrors/vn/VnCoreNLPVnCoreNLP 是越南语自然语言处理领域最流行的开源工具包由 NAACL 2018 论文正式发布提供分词、词性标注、命名实体识别和依存句法分析四大核心能力。本文面向零基础新手仅需 5 分钟就能完成 VnCoreNLP 安装配置并跑通你的第一个越南语处理示例全程无需任何外部依赖。VnCoreNLP 是什么一站式越南语处理工具包 很多同学在做越南语 NLP 任务时最大的痛点是缺乏好用的工具。VnCoreNLP 正是为解决这个问题而生它把越南语处理常用的四大任务整合在一条流水线pipeline里功能模块注解器名称作用分词 Word Segmentationwseg将越南语切分为正确的词如làm việc合并为làm_việc词性标注 POS Taggingpos为每个词标注词性名词、动词、形容词等命名实体识别 NERner识别人名PER、地名LOC、机构名ORG等依存句法分析 Dependency Parsingparse分析词与词之间的句法依存关系它的优势非常明显速度快、准确率高、零外部依赖只需一个 Jar 包加一个模型文件夹即可运行还同时支持命令行、Java API 和 Python 三种使用方式对新手极其友好。安装配置前的环境准备只需一个前提条件 ✅开始之前请先确认你的电脑满足下面这一项前提Java 1.8 或更高版本在终端执行java -version即可检查如果你使用 Python则额外需要Python 3.6环境就绪后我们需要准备两样东西程序本体VnCoreNLP-1.2.jar约 27MB语言模型models文件夹约 115MB内含分词、词性、NER、句法四类模型项目源码中已内置完整的模型目录例如分词模型位于models/wordsegmenter/wordsegmenter.rdr词性标注模型位于models/postagger/vi-taggerNER 模型位于models/ner/vi-ner.xz依存句法模型位于models/dep/vi-dep.xz。最快配置方法3 步完成 VnCoreNLP 安装 整个安装配置过程非常简单跟着下面三步走第 1 步获取 Jar 包与模型如果你已经拿到了包含VnCoreNLP-1.2.jar和models的完整项目直接跳过这一步。需要源码时可通过以下命令克隆仓库git clone https://gitcode.com/gh_mirrors/vn/VnCoreNLP第 2 步放到同一目录这是最容易踩坑的一步VnCoreNLP-1.2.jar和models文件夹必须放在同一个工作目录下因为程序默认从 Jar 所在目录读取模型例如分词器正是通过models/wordsegmenter/wordsegmenter.rdr加载规则树见 WordSegmenter.java。第 3 步验证安装在命令行执行下面这条命令如果能看到用法说明而不是报错说明安装配置成功java -Xmx2g -jar VnCoreNLP-1.2.jar -h命令行快速跑通第一个越南语处理示例 安装配置完成后我们立刻用命令行跑通第一个示例。假设input.txt里存有这样一段越南语新闻文本Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội.第 1 步执行完整标注命令在命令行输入以下命令对文本依次进行分词、词性标注、命名实体识别和依存句法分析java -Xmx2g -jar VnCoreNLP-1.2.jar -fin input.txt -fout output.txt第 2 步查看输出结果打开output.txt你会看到如下格式的标注结果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恭喜你的第一个越南语处理示例已经跑通 读懂输出6 列标注结果全解析 上面的输出每一行代表一个词共 6 列含义如下列含义示例解释第 1 列词序号按句子顺序编号第 2 列词形已分词Nguyễn_Khắc_Chúc是一个完整人名第 3 列POS 词性标签Np专有名词、V动词、E介词第 4 列NER 命名实体标签B-PER人名开始、B-ORG机构名开始第 5 列依存句法中心词序号4 表示该词依存于第 4 个词第 6 列依存关系类型root句子根节点、sub主语、nmod名词修饰更完整的词性、实体与依存标签说明可参考项目根目录的 TagsetDescription.md。如果你只想做部分任务也可以通过-annotators参数按需选择例如只做分词和词性标注java -Xmx2g -jar VnCoreNLP-1.2.jar -fin input.txt -fout output.txt -annotators wseg,posPython 用户快速上手教程 不熟悉 Java 的同学完全不用担心VnCoreNLP 提供了官方 Python 封装安装配置同样简单第 1 步安装封装库pip3 install py_vncorenlp第 2 步加载模型并标注文本import py_vncorenlp # 加载模型自动下载组件并保存到本地目录 model py_vncorenlp.VnCoreNLP(save_dir/absolute/path/to/vncorenlp) # 对一段越南语文本进行完整标注 model.print_out(model.annotate_text( Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội. ))如果你只需要分词功能还可以这样简化使用rdrsegmenter py_vncorenlp.VnCoreNLP(annotators[wseg], save_dir/absolute/path/to/vncorenlp) output rdrsegmenter.word_segment(Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội.) print(output)Java API 调用方式把工具包嵌入你的项目 ☕想在 Java 项目中直接调用 VnCoreNLP核心逻辑只有三行完整可运行示例见仓库中的 VnCoreNLPExample.javaimport vn.pipeline.*; import java.io.*; public class VnCoreNLPExample { public static void main(String[] args) throws IOException { String[] annotators {wseg, pos, ner, parse}; VnCoreNLP pipeline new VnCoreNLP(annotators); Annotation annotation new Annotation( Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội.); pipeline.annotate(annotation); System.out.println(annotation.toString()); } }pipeline.annotate(annotation)会完成整条流水线处理结果保存在Annotation对象中可通过annotation.getSentences()逐句获取更多 API 细节见 Annotation.java 和 Sentence.java。常见问题与避坑指南 ⚠️新手最容易遇到下面几个问题提前了解可以少走弯路找不到模型报错多半是VnCoreNLP-1.2.jar与models不在同一目录请务必确认目录结构。内存不足 OutOfMemory建议使用-Xmx2g参数分配至少 2GB 内存。中文乱码输入输出文件请确保使用 UTF-8 编码。首次运行较慢首次加载模型需要初始化属正常现象耐心等待即可。总结5 分钟从入门到跑通 到这里你已经掌握了 VnCoreNLP 的完整上手流程理解四大功能 → 完成安装配置 → 命令行跑通示例 → 读懂标注结果并且还学会了 Python 与 Java API 两种调用方式。这套越南语处理工具包足够帮你快速起步接下来就可以在分词、词性标注、命名实体识别和依存句法分析等任务上大展身手了【免费下载链接】VnCoreNLPA Vietnamese natural language processing toolkit (NAACL 2018)项目地址: https://gitcode.com/gh_mirrors/vn/VnCoreNLP创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考