asp.net 下的中文分词检索工具 - jieba.net

jieba是python下的一个检索库, 有人将这个库移植到了asp.net 平台下, 完全可以替代lucene.net以及盘古分词的搭配

之所以写这个, 其实是因为昨天面试时, 被问到网站的关键字检索你怎么做?我就是说了下sql模糊查询以及sql语句优化, 缓存。以前接触过关键字分词, 但是在.net平台下没有成熟的分词检索库, 不像java有lucene, 尽管也移植到了.net, 但是更新慢。我之前学python的时候留意到了python的分词检索, 以及做词云, 就想着有没有python的分词检索库移植到了.net的查了下python的jieba库 果然有移植的!
原文介绍: jieba中文分词的.NET版本:jieba.NET 
.NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了。最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果。另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterbi算法”,效果看起来也不错。

代码地址github: https://github.com/anderscui/jieba.NET
我们直接在VS2013的nuget包管理器里面搜索下载也行:

看到评论里面有人说, 将 工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作 分词试试, 能分好就不错, 我自己测试了下:

var segmenter = new JiebaSegmenter();

            Console.WriteLine("原检索语句: 工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");

            var segments1 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作", cutAll: true);
            Console.WriteLine("[全模式]: {0}", string.Join("/ ", segments1));

            var segments2 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");  // 默认为精确模式
            Console.WriteLine("【精确模式】:{0}", string.Join("/ ", segments2));

            var segments3 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");  // 默认为精确模式,同时也使用HMM模型
            Console.WriteLine("【新词识别】:{0}", string.Join("/ ", segments3));

            var segments4 = segmenter.CutForSearch("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"); // 搜索引擎模式
            Console.WriteLine("【搜索引擎模式】:{0}", string.Join("/ ", segments4));

            var segments5 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");
            Console.WriteLine("【歧义消除】:{0}", string.Join("/ ", segments5));

            Console.Read();

运行结果:

不错吧, 除去全模式外, 其余的都能满足我们人所读的顺序

时间: 2024-10-07 17:36:09

asp.net 下的中文分词检索工具 - jieba.net的相关文章

Centos下Sphinx中文分词编译安装测试---CoreSeek

要支持中文分词,还需要下载Coreseek,可以去官方搜索下载,这里我用的4.1 百度云下载地址:      https://pan.baidu.com/s/1slNIyHf tar -zxvf coreseek-4.1-beta.tar.gz cd coreseek-4.1-beta cd mmseg-3.2.14/ ./bootstrap   //测试安装环境 libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'

python下结巴中文分词

http://blog.csdn.net/pipisorry/article/details/45311229 jieba中文分词的使用 import jieba sentences = ["我喜欢吃土豆","土豆是个百搭的东西","我不喜欢今天雾霾的北京", 'costumer service'] # jieba.suggest_freq('雾霾', True) # jieba.suggest_freq('百搭', True) words =

2 中文分词工具 jieba 和 HanLP

前言 中文分词有很多种,常见的比如有中科院计算所 NLPIR.哈工大 LTP.清华大学 THULAC .斯坦福分词器.Hanlp 分词器.jieba 分词.IKAnalyzer 等.这里针对 jieba 和 HanLP 分别介绍不同场景下的中文分词应用. jieba 分词 jieba 安装 (1)Python 2.x 下 jieba 的三种安装方式,如下: 全自动安装:执行命令 easy_install jieba 或者 pip install jieba / pip3 install jieb

IKAnalyzer中文分词器

1. IKAnalyzer3.0介绍 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本.最初,它是以开源项目Luence为应用主体的,结合词典分词和文本分析算法的中文分词组件.新版本的IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现. 1.1 IKAnalyzer3.0特性 采用了特有的"正向迭代最细粒度切分算法&

中文分词实践(基于R语言)

背景:分析用户在世界杯期间讨论最多的话题. 思路:把用户关于世界杯的帖子拉下来,然后做中文分词+词频统计,最后将统计结果简单做个标签云,效果如下: 后续:中文分词是中文信息处理的基础,分词之后,其实还有特别多有趣的文本挖掘工作可以做,也是个知识发现的过程,以后有机会再学习下. ================================================== * 中文分词常用实现: 单机:R语言+Rwordseg分词包 (建议数据量<1G) 分布式:Hadoop+Smallse

Solr5.5.1 IK中文分词配置与使用

前言 用过Lucene.net的都知道,我们自己搭建索引服务器时和解决搜索匹配度的问题都用到过盘古分词.其中包含一个词典. 那么既然用到了这种国际化的框架,那么就避免不了中文分词.尤其是国内特殊行业比较多.比如油田系统从勘探.打井.投产等若干环节都涉及一些专业词汇. 再像电商,手机.手机配件.笔记本.笔记本配件之类.汽车,品牌.车系.车型等等,这一系列数据背后都涉及各自领域的专业名次,所以中文分词就最终的目的还是为了解决搜索结果的精确度和匹配度的问题. IK搜索预览 我的univeral Cor

Lucene的中文分词器IKAnalyzer

分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Analyzer应该是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IK Analyzer 2012版本. IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时

中文分词原理及工具

原理 中文分词,即 Chinese Word Segmentation,即将一个汉字序列进行切分,得到一个个单独的词.表面上看,分词其实就是那么回事,但分词效果好不好对信息检索.实验结果还是有很大影响的,同时分词的背后其实是涉及各种各样的算法的. 中文分词与英文分词有很大的不同,对英文而言,一个单词就是一个词,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,需要人为切分.根据其特点,可以把分词算法分为四大类: 基于规则的分词方法 基于统计的分词方法 基于语义的分词方法 基于理解的分词方

[python] 使用Jieba工具中文分词及文本聚类概念

声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台.        前面讲述了很多关于Python爬取本体Ontology.消息盒InfoBox.虎扑图片等例子,同时讲述了VSM向量空间模型的应用.但是由于InfoBox没有前后文和语义概念,所以效果不是很好,这篇文章主要是爬取百度5A景区摘要信息,再利用Jieba分词工具进行中文分词,最后提出文本聚类算法的一些概念知识.        相关文章:        [Python爬虫]