当前位置:网站首页>使用哈工大LTP测试分词并且增加自定义字典
使用哈工大LTP测试分词并且增加自定义字典
2022-08-10 10:56:00 【GIS从业者】
1、github下载源码
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编码的文本时,读取第一个文本会出现乱码问题
代码有个地方(“.\ltp-master\ltp\algorithms\maximum_forward_matching.py”)稍微修改了下,修改之后就正常了
测试结果成功
Ignored unknown kwarg option direction
[['他', '叫汤姆去', '拿', '外衣', '。']]
边栏推荐
猜你喜欢
开发模式对测试的影响
Redis (six) - transaction and lock mechanism of Redis6 (unfinished, to be supplemented)
从脚本到剪辑,影像大师亲授的后期制作秘籍
Weilai-software development engineer side record
技能大赛训练题:组策略一
OneFlow源码解析:算子指令在虚拟机中的执行
用proteus直接仿真stm32-可以完全丢弃编程器
首次入选OSDI顶会!腾讯提出超大规模推荐系统的模型低延时更新方案
"Time Series Database" uses cassandra to scan time series data
金九银十跳槽旺季:阿里、百度、京东、美团等技术面试题及答案
随机推荐
【勇敢饭饭,不怕刷题之链表】链表倒数节点问题
runtime-core.esm-bundler.js?d2dd:218 Uncaught TypeError: formRef.value?.validate is not a function
十年架构五年生活-09 五年之约如期而至
AUTOCAD - reducing spline curve control points, the advanced CAD practice (3)
高阶组件使用
LeetCode_443_压缩字符串
越折腾越好用的 3 款开源 APP
谷歌数据中心发生“电力事故”造成 3 人受伤
HDU 1520 Anniversary party (树型dp)
leetcode:334. 递增的三元子序列
Gartner再次重申了“数据编织”的重要价值
程序员追求技术夯实基础学习路线建议
第3章-线性方程组(3)
动作捕捉系统用于室内组合定位技术研究
OSSCore 开源解决方案介绍
中小规模网站架构
POJ 2891 Strange Way to Express Integers (Extended Euclidean)
LeetCode_152_乘积最大子数组
Chapter 22 Source Code File REST API Reference (4)
C#List的使用以及Linq的使用