pyltp的环境搭建和外部词典分词、外部词典词性标注
pyltp 官方文档:https://pyltp.readthedocs.io/zh_CN/latest/api.htm
一、 安装(注意pyltp版本)
第一种方式: pip install pyltp
结果可能会报错 building ‘pyltp’ extensionerror: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
第二种:直接下载whl文件,进入到whl文件目录 输入 pip install 文件名
python3.6 win64链接
http://mlln.cn/2018/01/31/pyltp在windows下的编译安装/pyltp-0.2.1-cp36-cp36m-win_amd64.whl)
二、下载语料模板
下载地址百度云:http://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569
三、使用分词外部词典
def test_dic_cws():
import os
LTP_DATA_DIR = 'D:\pycharm\other_file\ltp_data_v3.4.0' # ltp模型目录的路径
cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model') # 分词模型路径,模型名称为`cws.model`
from pyltp import Segmentor
segmentor = Segmentor() # 初始化实例
segmentor.load_with_lexicon(cws_model_path, 'D:\pycharm\code\ltp_test\\test_cws') # 加载模型,第二个参数是您的外部词典文件路径
words = segmentor.segment('元芳你怎么看')
print ('|'.join(words))
segmentor.release()
pyltp 分词支持用户使用自定义词典。分词外部词典本身是一个文本文件,后缀随意,每行指定一个词,编码同样须为 UTF-8
苯并芘
亚硝酸盐
四、使用词性标注外部词典
pyltp 词性标注同样支持用户的外部词典。词性标注外部词典同样为一个文本文件,每行指定一个词,第一列指定单词,第二列之后指定该词的候选词性(可以有多项,每一项占一列),列与列之间用空格区分。示例如下
雷人 v a
】 wp
def test_dic_pos():
import os
LTP_DATA_DIR = 'D:\pycharm\other_file\ltp_data_v3.4.0' # ltp模型目录的路径
pos_model_path = os.path.join(LTP_DATA_DIR, 'pos.model') # 词性标注模型路径,模型名称为`pos.model`
from pyltp import Postagger
postagger = Postagger() # 初始化实例
postagger.load_with_lexicon(pos_model_path,'D:\pycharm\code\ltp_test\\test_pos') # 加载模型
words = ['元芳', '你', '怎么', '看'] # 分词结果
postags = postagger.postag(words) # 词性标注
print ('\t'.join(postags))
postagger.release() # 释放模型
总结:
外部词典分析效果不是很明显,有的特殊字符,比如数字、英文,还有一些外国的地名分不出来,并非完全按照外部词典分词
外部词典词性标注没有详细测试,基本达到了效果