HubbleDotNet 和 Lucene.Net 匹配相关度的比较

简介:          在使用 Lucene.net (Lucene java 版本也是一样)后会感觉Lucene.net 的匹配相关度存在问题,搜索得到的结果往往不是希望的结果,不完全匹配的记录往往比完全匹配的记录排序还要靠前,很多人试图通过分词来解决,中文环境搜索,分词确实能解决一些问题,但不能根本解决问题,而英文环境下,分词根本无法解决任何问题。
         在使用 Lucene.net (Lucene java 版本也是一样)后会感觉Lucene.net 的匹配相关度存在问题,搜索得到的结果往往不是希望的结果,不完全匹配的记录往往比完全匹配的记录排序还要靠前,很多人试图通过分词来解决,中文环境搜索,分词确实能解决一些问题,但不能根本解决问题,而英文环境下,分词根本无法解决任何问题。问题的本质是由于Lucene的得分算法缺陷造成的,不改进得分算法根本不能根本解决问题。HubbleDotNet的得分算法参考了Lucene的得分算法并做了重大改进,匹配相关度比Lucene.net 有了显著提高。本文结合一个极端的例子来分析两者得分算法的异同,并从原理上讲解为什么HubbleDotNet 的匹配相关度要比Lucene.net 的高。

先看例子
      我们对下面两条记录分别用 Lucene.net 2.9.1 和 HubbleDotNet 0.9.7.1 进行索引。
记录1
      教育问题一直是国家最关心的,我们要长抓不懈
记录2
     教育独生子女问题,这是很多家长要关心的问题
 
分词采用盘古分词,分词参数中关闭多元分词。
两个句子的分词结果分别为:
教育/问题/一直/是/国家/最/关心/的/我们/要/长抓/不懈/
教育/独生子女/问题/这/是/很多/家长/要/关心/的/问题/
 
要搜索的句子是:教育问题
其分词结果为:教育/问题/
         从直观上看,记录1 是完全匹配,应该得分比记录2高,这也是我们希望的排序结果,即记录1排在第一个,记录2排第二个。
 
下面看看实际的排序结果:
Lucene.net 的排序结果:(这是盘古分词带的Lucene.net 的例子稍作改动后(将得分输出了)的输出结果) 从结果我们可以看出记录2被排在了第一位,得分为 0.042; 而记录1 的得分为 0.034 排第二位,这个显然不是我们希望的结果。
 
再看HubbleDotNet的结果
这里我们看到记录1被排在第一位,得分为 390218522;记录2 排第二位,得分 85937
 

http://www.cnblogs.com/eaglet/archive/2010/09/07/1820267.html
目录
相关文章
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
603 214
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
842 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1240 157
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
238 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
519 109