# 以下是一个使用LTP中文分词器替换Whoosh默认分词器的Python脚本:
# pythonCopy code
import os
import jieba
from whoosh.analysis import Tokenizer, Token
from whoosh.compat import u
from whoosh import fields, index
from whoosh.qparser import QueryParser
from ltp import LTP
import torch
from settings import *
# LTP添加自定义词典
f=open(LTP_user_dict_path,"r",encoding="utf-8")
user_dicts=f.readlines()
user_dicts=[user_dict.strip() for user_dict in user_dicts]
ltp = LTP( "LTP/base2")
ltp.add_words(user_dicts)
# 将模型移动到 GPU 上
if torch.cuda.is_available():
ltp.to("cuda")
# print("begin")
# 定义LTP分词器
class LtpTokenizer(Tokenizer):
def __call__(self, value, positions=False, chars=False,
keeporiginal=False, removestops=True, start_pos=0, start_char=0,
mode="", **kwargs):
assert isinstance(value, str), "%r is not unicode" % value
t = Token(positions, chars, removestops=removestops, mode=mode, **kwargs)
segs = ltp.pipeline([value]).cws[0]
# print("begin2")
for w in segs:
t.original = t.text = u(w)
t.boost = 1.0
if positions:
t.pos = start_pos + value.find(w)
if chars:
t.startchar = start_char + value.find(w)
t.endchar = start_char + value.find(w) + len(w)
yield t
# 在上面的脚本中,我们首先导入了LTP中文分词器,并创建了一个自定义的LTPTokenizer类,该类用于将文本分成单词。
LTP分词器python版本
版权申诉
12 浏览量
2023-03-07
16:00:48
上传
评论
收藏 943B RAR 举报
GIS从业者
- 粉丝: 1162
- 资源: 69
最新资源
- 51单片机学习(1)-软件keil下载
- 历届(第1-21届)希望杯数学竞赛初一试题及答案(最新整理).doc全国数学邀请赛(264页资料)
- 水滴.psd
- TokenPocket_V2.1.2_release.apk
- Apache-druid-kafka-rce.yaml
- 基于C#的ASP.NET数据库原理及应用技术课程指导平台的开发
- 基于ROS的智能车轨迹跟踪算法的仿真与设计源码运用PID跟踪算法.zip.zip
- Bug Bounty Tip - i春秋Self-XSS变废为宝的奇思妙想
- 1991-2015年全国初中化学竞赛复赛试题汇编(212页)(24年竞赛复赛真题).docx天原杯
- Apache Flink 未授权访问+远程代码执行.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈