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包管理器里面搜索下载也行:

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

看到评论里面有人说, 将 工信处女干事每月经过下属科室都要亲口交代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下的中文分词检索工具分享

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2493217.html

(0)
上一篇 2025年3月5日 01:27:35
下一篇 2025年3月5日 01:27:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • asp.net core封装layui组件的示例详解

    本篇文章主要介绍了详解asp.net core封装layui组件示例分享,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 用什么封装?这里只是用了TagHelper,是啥?自己瞅文档去 在学习使用TagHelpe…

    2025年3月5日
    200
  • ASP.NET样板开发框架ABP系列之ABP入门教程详解

    abp是为新的现代web应用程序使用最佳实践和使用最流行工具的一个起点。可作为一般用途的应用程序的基础框架或项目模板。接下来通过本文给大家详细介绍abp入门教程,感兴趣的朋友一起看看吧 ABP是“ASP.NET Boilerplate Pr…

    2025年3月5日 编程技术
    200
  • asp.net怎么使用js文件

    通常javascript代码可以与html标签一起直接放在前 端页面中,但如果js代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿。 所以一般有良好开发习惯的程序员都会把 javascript代码放到独立的js…

    2025年3月5日
    200
  • XML如何修改不规范的XML

    面对不规范 XML 数据,可采用以下方法修复:使用 XML 解析器(如 xml.etree.ElementTree)检测错误,并根据错误信息手动修复。使用 XML 编辑器(如专业的 XML 编辑器)自动检测并修复错误。编写自定义修复程序(适…

    2025年3月5日
    200
  • XML修改内容如何进行数据转换

    XML 数据修改和转换涉及使用 Python 库(如 lxml)修改 XML 内容并将其转换为其他格式。首先,使用 lxml 的 xpath 表达式定位要修改的节点,然后更新其文本内容。对于复杂的转换,遍历 XML 树并使用 Python …

    2025年3月5日
    200
  • 如何在go语言中实现高效的数据存储与检索

    如何在go语言中实现高效的数据存储与检索 引言:在开发应用程序的过程中,数据存储与检索是非常重要的一部分。一个高效的数据存储系统可以提供快速、可靠的数据存储和检索功能。Go语言作为一种高性能、高效和易用的编程语言,提供了各种库和工具,可以帮…

    编程技术 2025年3月4日
    200
  • 《inZOI》称非《模拟人生》竞品 注重深度定制和AI体验

    《inzoi》——3月28日开启抢先体验,打造你的专属生活模拟世界! 告别竞争压力,《inZOI》将于3月28日推出抢先体验版,为玩家提供一个专注创造和家庭生活的虚拟世界。在这个世界里,你可以体验真实生活:工作赚钱,建立人际关系,甚至可以自…

    2025年3月4日
    200
  • 《远征》第二季: “白色黎明”现已推出!

    《远征》第二季:“白色黎明”震撼来袭! 开启冰雪冒险之旅! 第二季为季票持有者带来全新喀尔巴阡山脉雪域地图、全新卡车和专家角色。更令人兴奋的是,所有玩家都能免费体验全新的轮式无人机、附加模块、实用工具以及备受期待的可重玩模式! 庆祝第二季上…

    2025年3月4日 游戏
    200
  • 提升编程效率:Golang工具助力方案

    Golang是一种受欢迎的开发语言,它具有高效的并发能力和简洁的语法,深受开发者的喜爱。然而,在实际编程过程中,我们常常会遇到一些重复的任务或者困难的问题,这时就需要借助一些优秀的辅助工具来提高开发效率和质量。本文将介绍一些常用的Golan…

    2025年3月4日
    200
  • 专业Go开发者必备:五款顶级软件推荐

    作为一名专业的Go开发者,选择合适的软件工具是至关重要的。在日常开发中,拥有高效、稳定且功能强大的软件可以极大提升我们的工作效率。下面将为大家推荐五款顶级软件,每款软件都附有具体的代码示例,希望能够对您有所帮助。 1. Visual Stu…

    2025年3月4日
    200

发表回复

登录后才能评论