欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pyltp的环境搭建和外部词典分词、外部词典词性标注

程序员文章站 2022-06-12 16:09:53
...

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()  # 释放模型

总结
外部词典分析效果不是很明显,有的特殊字符,比如数字、英文,还有一些外国的地名分不出来,并非完全按照外部词典分词
外部词典词性标注没有详细测试,基本达到了效果

相关标签: nlp