分词注记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012705410/article/details/80277217

这篇文章主要记录一下对各个分词工具的配置问题,算是对自己踩过坑的一些总结和引导吧。

哈工大 LTP

哈工大 LTP 的主页在 http://ltp.ai/index.html ,ltp 还出了语言云,也可以使用以下。这里主要提一下 ltp 的安装与使用,具体可参考在线文档(http://ltp.ai/docs/index.html),其 Github 主页在 https://github.com/HIT-SCIR/ltp

值得一提的是,ltp 是支持训练模型的,就是利用已经人工切分好的预料库进行训练,具体说明可见 http://ltp.ai/docs/train.html#otcws ,其中训练集文件和开发集文件都可以指定为训练集文件,即为人工切分数据集。

具体分词的话,可以使用 ltp 的 python 接口,也就是 pyltp 包。pyltp 的 Github 主页在 https://github.com/HIT-SCIR/pyltp ,我在 mac 和 linux 上直接同 pip install pyltp 就可以了。在 windows 上的这样安装会报错,不过 Github 上有个问题列表,https://github.com/HIT-SCIR/pyltp/issues ,里面有提到了 pyltp 的安装问题。可见 https://github.com/HIT-SCIR/pyltp/issues/125 ,可以进行编译安装,也可以安装编译好的 whl 文件。

然后就可以使用了,不过有个问题一直没有解决,就是 mac 和 linux 上可以加载自己训练的模型,但是同样的代码在 windows 上就不行,windows 上可以训练出模型,但是利用 pyltp 写代码加载模型时,总会报错,这个问题也有讨论,可见 https://github.com/HIT-SCIR/pyltp/issues/90 ,不过我在windows 上一直没有解决。

Stanford 分词工具

斯坦福的这个分词工具主页在 https://nlp.stanford.edu/software/segmenter.shtml ,在主页的最下面可以下载各个历史版本的模型文件。

具体分词的话,可以考虑使用 python 的 nltk 包,可以参考 http://www.cnblogs.com/baiboy/p/nltk1.html 。值得注意的是,要留意一下安装的 nltk 的版本问题。我在 mac 上是手动安装的,很早就安装了,版本是 3.2.2,运行没什么问题,在 windows 和 linux 上安装的是 anaconda,里面集成的 nltk 是 3.2.5版本的,会报错如下

TypeError: expected str, bytes or os.PathLike object, not NoneType

这个错误的也成功解决了,可以参见 https://github.com/stanfordnlp/CoreNLP/issues/484 ,其实就是在 StanfordSegmenter 里传递如下参数就可以了

java_class = 'edu.stanford.nlp.ie.crf.CRFClassifier'

此外,高版本的 nltk 包有了新的方式调用斯坦福的分词器,具体可见 https://github.com/nltk/nltk/issues/1808

猜你喜欢

转载自blog.csdn.net/u012705410/article/details/80277217
今日推荐