首页 > 其他分享 >分词

分词

时间:2024-04-02 17:35:36浏览次数:17  
标签:语句 DAG idx route 概率 分词

 

今天发现一个不用npl实现分词的方法

jieba分词

全自动安装:

pip install jieba (window环境)
pip3 install jieba (Linux环境)

  1. 首先进行将语句转换为UTF-8或者GBK。

  2. 然后根据用户指定的模式,是否全模式,是否采用HMM隐马尔科夫,来设置cut方式。

  3. 然后根据正则,将输入文本分为一个个语句。

  4. 最后遍历语句,对每个语句单独进行分词。

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])
# 每个词的概率 = 字典中该词的词数 / 字典总词数。

 

标签:语句,DAG,idx,route,概率,分词
From: https://www.cnblogs.com/wajava/p/18111116

相关文章

  • 分词-1
    #encoding=utf-8importjiebajieba.enable_paddle()#启动paddle模式。strs=["我关注了数据STUDIO","我是数据分析师","四川大学"]forstrinstrs:seg_list=jieba.cut(str,use_paddle=True)#使用paddle模式print("PaddleMode:"+'......
  • MAC M1使用docker 安装es kibana ik分词器
    1.拉取elasticsearch镜像资源,本人下载的是8.6.2版本dockerpullelasticsearch:8.6.22.在本机中提前创建好yml文件elasticsearch.ymlhttp:  host:0.0.0.0xpack.security.enabled:falsexpack.security.enrollment.enabled:truexpack.security.http.ssl: enabl......
  • 中文地址分词算法-Java版
    addresstool用于处理中文地址的分词和匹配,采用NLP分词算法进行中文地址分词,在中文地址分词基础上对垃圾地址进行识别,过滤,标记等。根据杂乱的业务地址自动化生成标准中文地址库,并支持随机业务地址关联到标准地址操作,实测速度达到25000条/每秒今天我们测试一下addresstool的......
  • 中文地址智能分词算法-Java版
    addresstool用于处理中文地址的分词和匹配,采用NLP分词算法进行中文地址分词,在中文地址分词基础上对垃圾地址进行识别,过滤,标记等。根据杂乱的业务地址自动化生成标准中文地址库,并支持随机业务地址关联到标准地址操作,实测速度达到25000条/每秒今天我们测试一下addresstool的地址分......
  • springboot 集成elasticsearch Ik分词
    前提是我们elasticsearch服务已经集成了IK分词,具体集成下载对应的elasticsearchIK分词插件,在es插件包下创建IK文件夹,将下载好的IK包上传上去解压后重启es1、pom引入co.elastic.clientselasticsearch-java7.16.2jakarta.jsonjakarta.json-api2.0.1org.springframew......
  • jieba分词+sk-learn计算样本问题最相似的问题
    场景:输入一段内容,找到问题集中跟该内容最相似的问题importjiebafromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.metrics.pairwiseimportcosine_similaritytemplates=["出来钓鱼了喂","王大腚爱钓鱼","格小格爱爱钓鱼",......
  • jieba 分词器包的导入
    anaconda安装jieba(被折腾了很久)终于搞定_anaconda离线安装jieba-CSDN博客在命令窗口pip的时候老师说让更新后面并且更新失败  ......
  • ElasticSearch中使用ik分词器进行实现分词操作
    简介:在默认的情况下,ES中只存在Stander分词器,但是这个分词器往往不满足我们的分词需求,这里通过ik分词器进行自定义我们的分词操作1、第一步将ik分词器进行下载下载地址:https://github.com/medcl/elasticsearch-analysis-ik需要注意,需要选择和自己的ES版本对应的版本2、将ik分词......
  • 3.分词器(Analyzer)
    分词器有什么用?分词器是搜索引擎的一个核心组件,负责对文档内容进行分词(在ES 里面被称为Analysis),也就是将一个文档转换成单词词典(Term Dictionary)。单词词典是由文档中出现过的所有单词构成的字符串集合。为了满足不同的分词需求,分词器有很多种,不同的分词器分词逻辑可能......
  • tokenizer分词器中的BPE分词方法的原理、样例、代码示例
    BytePairEncoding(BPE):想象一下你正在玩一种叫做“文字乐高”的游戏。在这个游戏中,你有很多小块,每个小块上写着一个字母或汉字。你的任务是用这些小块来构建单词或句子。开始时,你只能用单个字母或汉字的小块。但是游戏规则允许你找出那些经常一起出现的字母或汉字对,然后把它......