https://github.com/HIT-SCIR/ltp
2、拷贝测试代码测试详细说明下拷贝测试代码
https://github.com/HIT-SCIR/ltp/blob/master/docs/quickstart.rst
from ltp import LTP ltp = LTP() segment, _ = ltp.seg(["他叫汤姆去拿外衣。"]) # [['他', '叫', '汤姆', '去', '拿', '外衣', '。']]
报错了
稍微修改下代码,添加前面两行
import sys,os sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '..')) from ltp import LTP ltp = LTP() segment, _ = ltp.seg(["他叫汤姆去拿外衣。"]) # [['他', '叫', '汤姆', '去', '拿', '外衣', '。']] print(segment)
执行过程中,缺少什么包就安装什么包就行,我的少了这些
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple packaging pip install -i https://pypi.tuna.tsinghua.edu.cn/simple transformers --user pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.17.3 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygtrie
执行成功,等待下载训练包,然后测试结果成功
Ignored unknown kwarg option direction [['他', '叫', '汤姆', '去', '拿', '外衣', '。']]3、升级测试,增加自定义字典 (1)、脚本中增加
仅仅为了测试,增加的自定义字典是随便写的
import sys,os sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '..')) from ltp import LTP ltp = LTP() # 也可以在代码中添加自定义的词语 ltp.add_words(words=["叫汤姆去"], max_window=4) segment, _ = ltp.seg(["他叫汤姆去拿外衣。"]) print(segment)(2)、文件中增加
其中’user_dict.txt’文件我是放在了这里
文本记得用utf-8编码保存
import sys,os sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '..')) from ltp import LTP ltp = LTP() root_path=os.path.abspath(os.path.dirname(__file__) + '/' + '..') # user_dict.txt 是词典文件, max_window是最大前向分词窗口 ltp.init_dict(path=os.path.join(root_path,"dict",'user_dict.txt'), max_window=4) segment, _ = ltp.seg(["他叫汤姆去拿外衣。"]) print(segment)
读取utf-8编码的文本时,读取第一个文本会出现乱码问题
参考:产生 ufeff 问题的原因及解决办法
代码有个地方(“.ltp-masterltpalgorithmsmaximum_forward_matching.py”)稍微修改了下,修改之后就正常了
测试结果成功
Ignored unknown kwarg option direction [['他', '叫汤姆去', '拿', '外衣', '。']]