分词
今天发现一个不用npl实现分词的方法
jieba分词
全自动安装:
pip install jieba (window环境)
pip3 install jieba (Linux环境)
-
首先进行将语句转换为UTF-8或者GBK。
-
然后根据用户指定的模式,是否全模式,是否采用HMM隐马尔科夫,来设置cut方式。
-
然后根据正则,将输入文本分为一个个语句。
-
最后遍历语句,对每个语句单独进行分词。
def calc(self, sentence, DAG, route): N = len(sentence) route[N] = (0, 0) logtotal = log(self.total) for idx in xrange(N - 1, -1, -1): # route[idx] = (该汉字到最后一个汉字的最大路径概率, # 最大路径概率时该汉字对应的词语结束位置). # 遍历DAG中该汉字节点的结束位置,也就是DAG[idx], # 计算idx到x之间构成的词语的概率,然后乘以x到语句结束位置的最大概率, # 即可得到idx到语句结束的路径最大概率. route[idx] = max( (log(self.FREQ.get(sentence[idx:x + 1]) or 1) - log(total) + route[x + 1][0] , x) for x in DAG[idx]) # 每个词的概率 = 字典中该词的词数 / 字典总词数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)