关于目前分词的想法

目前分词性能比较差,只有1.65M/s,同事在没有改变主要算法的情况下做了一点优化调整,到3.52M/s,但对性能的提升仍然不够明显。我感觉亟须解决几个问题:

1.search时keyword分词也按多种粒度进行,然后分别sloppyphrase,最后or起来,由于大粒度分的词词频低,因此idf大,它们在排序时优先级更高,符合期望。现在只做一个粒度的切法,又要求在索引里面都能找到,感觉不太现实。改动之后的做法对索引时分词没有苛求,相对来说增加的开销也不会很大,可能就三个粒度的分词,只是如果排序没有考虑的话需要更高一些排序的做法。查全率、召回率都会更高。这样索引分词就专注在按不同粒度切好词即可,不用在切完之后再考虑合并之类复杂奇怪的逻辑,可以追求更高的性能。

2.统一使用trie树(或fst)做检索,trie树也可以定时更新,杜绝用hash做前缀查询,trie树相当于状态机性能更好。

3.建立性能、准确率、召回率的指标,目前算法比较复杂,如果有其他算法综合起来更优,可以替换。

4.目前increment gap没有考虑,不够严谨,可能会出错。

关于目前分词的想法

时间: 2024-11-09 00:35:11

关于目前分词的想法的相关文章

关于眼下分词的想法

眼下分词性能比較差,仅仅有1.65M/s,同事在没有改变主要算法的情况下做了一点优化调整,到3.52M/s.但对性能的提升仍然不够明显.我感觉亟须解决几个问题: 1.search时keyword分词也按多种粒度进行,然后分别sloppyphrase,最后or起来,因为大粒度分的词词频低,因此idf大.它们在排序时优先级更高,符合期望.如今仅仅做一个粒度的切法,又要求在索引里面都能找到,感觉不太现实.修改之后的做法对索引时分词没有苛求.相对来说添加的开销也不会非常大,可能就三个粒度的分词,仅仅是假

.NET Core中文分词组件jieba.NET Core

特点 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义.具体来说,分词过程不会借助于词频查找最大概率路径,亦不会使用HMM: 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. 支持繁体分词 支持添加自定义词典和自定义词 jieba.NET Core 用法 下载代码使用VS 2017 打开,或者使用VS Code 打开项目. 选择jieba.NET 为起始项目,P

.net 的一个分词系统(jieba中文分词的.NET版本:jieba.NET)

简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb

jieba中文分词的.NET版本:jieba.NET

简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb

Mmseg中文分词算法解析

@author linjiexing 开发中文搜索和中文词库语义自己主动识别的时候,我採用都是基于mmseg中文分词算法开发的Jcseg开源project.使用场景涉及搜索索引创建时的中文分词.新词发现的中文分词.语义词向量空间构建过程的中文分词和文章特征向量提取前的中文分词等,整体使用下来,感觉jcseg是一个非常优秀的开源中文分词工具,并且可配置和开源的情况下,能够满足非常多场景的中文分词逻辑.本文先把jcseg使用到最主要的mmseg算法解析一下. 1. 中文分词算法之争 在分析mmseg

使用NLPIR-ICTCLAS2014分词系统

0.使用NLPIR-ICTCLAS2014分词系统之前的准备 下载NLPIR-ICTCLAS2014的下载包.高速传送门: http://ictclas.nlpir.org/upload/20140618094605_ICTCLAS2014.zip 须要有自己的词库(事实上没有都没问题,词库仅仅是我自己须要用到的,某个方面的词汇,来帮助进行页面分析的) 1.高速从NLPIR-ICTCLAS2014的下载包中获得我们须要的东西 首先来看一下整个目录的结构 Data目录中,含有分词须要用到的字典,C

(转)jieba中文分词的.NET版本:jieba.NET

简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb

(3.2)将分词和去停用词后的评论文本基于“环境、卫生、价格、服务”分类

酒店评论情感分析系统(三)—— 将分词和去停用词后的评论文本基于“环境.卫生.价格.服务”分类 思想: 将进行了中文分词和去停用词之后得到的词或短语按序存在一个数组(iniArray)中,从中找出所有和“环境.卫生.价格.服务”四个方面相关的词或短语,并记录下其位置信息(sortRefNum).然后按照位置信息,对每一个标记出的关键词,记录下从当前关键词起到下一个关键词止的信息,放入一个String型的数组中(midArray),最后将此数组中的关键词再分别基于“环境.卫生.价格.服务”四个方面

Python 结巴分词 关键词抽取分析

关键词抽取就是从文本里面把跟这篇文档意义最相关的一些词抽取出来.这个可以追溯到文献检索初期,当时还不支持全文搜索的时候,关键词就可以作为搜索这篇论文的词语.因此,目前依然可以在论文中看到关键词这一项. 除了这些,关键词还可以在文本聚类.分类.自动摘要等领域中有着重要的作用.比如在聚类时将关键词相似的几篇文档看成一个团簇,可以大大提高聚类算法的收敛速度:从某天所有的新闻中提取出这些新闻的关键词,就可以大致了解那天发生了什么事情:或者将某段时间内几个人的微博拼成一篇长文本,然后抽取关键词就可以知道他