首页后端开发ASP.NETasp.net下的中文分词检索工具分享

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

时间2024-01-30 20:20:02发布访客分类ASP.NET浏览906
导读:收集整理的这篇文章主要介绍了asp.net下的中文分词检索工具分享,觉得挺不错的,现在分享给大家,也给大家做个参考。jieba是python下的一个检索库, 有人将这个库移植到了asp.net 平台下, 完全可以替代lucene.net以及...
收集整理的这篇文章主要介绍了asp.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算法”,效果看起来也不错。

我们直接在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();
    

运行结果:

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

以上就是asp.net下的中文分词检索工具分享的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

asp.net工具

若转载请注明出处: asp.net下的中文分词检索工具分享
本文地址: https://pptw.com/jishu/592992.html
jquery怎么选择第几个子元素 jquery怎样判断除法有没有余数

游客 回复需填写必要信息