-
Notifications
You must be signed in to change notification settings - Fork 724
新手如何上手FNLP
我是第一次接触FNLP,摸索了一段时间,下面我就以一个自然语言处理菜鸟的身份介绍我这个新生是如何上手FNLP的,抛砖引玉,希望以后跟大家多多讨论。 本文假定你以前没有接触过自然语言处理相关方面的知识,具有简单的编程基础,让你对自然语言处理的一些功能有些基础的了解并且产生兴趣从而一起改善FNLP,使其更实用更强大。
首先我们来直观感受一下FNLP提供的功能。可以先进入fudandemo页面,自己试玩一下,网址链接为Demo。FNLP提供了中文分词,词性标注,实体名识别,关键词抽取,依存句法分析,时间短语识别等功能。
其次,FNLP最新的版本是存放在github社区中的,所以你得了解github,至于如何使用github,推荐你看一下知乎上的问答,这里给出链接怎样使用 GitHub ?。知乎上的高手还是讲解的很详细的。
在github上下载了FNLP的源代码以后(至于如何下载,你熟悉了github之后只需要同步到本地即可),现在就可以试着将其导入Eclipse中运行。
除了源码文件,还需要下载FNLP模型文件。由于模型文件较大,不便于存放在源码库之中,请至Release页面下载,并将模型文件放在“models”目录。
- seg.m 分词模型
- pos.m 词性标注模型
- dep.m 依存句法分析模型
下载后得到文件结构应与FNLP Github页面中呈现的一致,确认无误后即可开始编译运行。
如果你不知道Eclipse的话推荐你最好先了解一下Java语言,因为目前FNLP给出的接口都是基于Java的,在你的电脑上配置好了jdk开发环境,安装好了Eclipse后接下来就是需要了解maven了,关于maven的安装,有在线跟离线两种方式,这个帖子介绍的非常详细,Eclipse安装Maven插件,在Eclipse中安装好了maven后就可以将FNLP的源码导入到Eclipse中了,在Eclipse的project explorer面板中我们可以看到FNLP项目,在运行程序的过程中一定要注意你的FNLP源码所在的地方是否与你Eclipse的工作空间是否在一起,不在一起的话要将源码中的path值改变为你的FNLP所在的空间,否则会跳出错误。
至此,你就可以将FNLP的example运行起来了。
作为新手补充几个容易出问题的点; 1、在原GitHub里最新版的模型文件的网盘地址被举报了无法获取,所以只能退一步下载2.1版本的模型文件和2.1版本的源码(测试之后可以使用,如果版本和模型不匹配会出问题)。 2、在装完maven之后开始编译FNLP文件,我安装的时候会下载非常多的组件,不挂梯子会一直失败,所以建议稳定网络稳定梯子安装。(安装的时候会花挺久的,而且cmd有概率会卡死,重新开始编译就行) 3、执行maven命令copy jar包到lib目录下会有问题,推荐手动复制或下载。 4、导入的时候需要导入的fnlp-core-2.0-SNAPSHOT.jar在fnlp-core文件夹下fnlp-core/target/fnlp-core-2.0-SNAPSHOT.jar(很容易被忽略) 5、helloword指导中 1 import org.fnlp.nlp.cn.CNFactory;
2 CNFactory factory = CNFactory.getInstance("models"); 第二行的初始化格式工厂需要在你项目建立好的类中,放在全局外面会报错。 导入包的时候有时候会出现格式错误,此时手打一遍可能会解决问题。