问题标签 [information-retrieval]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
26472 浏览

java - Java 开源文本挖掘框架

我想知道什么是最好的基于 Java 的开源文本挖掘框架,以使用 botg 机器学习和字典方法。

我正在使用 Mallet,但没有那么多文档,我不知道它是否符合我的所有要求。

0 投票
4 回答
1791 浏览

java - 用于严格文档相似度的文本相似度函数

我正在编写一个 java 软件,它必须对以 UTF-8 编码的两个文档的相似性做出最终判断。

这两个文档很可能相同或略有不同,因为它们具有许多共同特征,例如日期、位置、创建者等,但它们的文本决定了它们是否真实。

我希望这两个文档的文本要么非常相似,要么根本不相似,因此我可以对设置相似性的阈值相当严格。例如,我可以说这两个文档只有在它们有 90% 的词是相同的情况下才相似,但我想要更健壮的东西,它适用于短文本和长文本。

总结一下,我有:

  • 两份文件,要么非常相似,要么根本不相似,但是:
  • 两份文件更可能相似
  • 文档可以很长(一些段落)也可以很短(一些句子)

我已经尝试过simmetrics,它有大量的字符串匹配函数,但我最感兴趣的是关于可能使用的算法的建议。

我有可能的候选人是:

  • Levenshtein:它的输出对于短文本更重要
  • 重叠系数:可能,但它可以很好地区分不同长度的文档吗?

此外,仅当它们完全相同时才考虑两个相似的文本不会很好,因为我希望只有几个单词不同的文档通过相似性测试。

0 投票
4 回答
228 浏览

search - 搜索引擎如何进行“AND”运算?

考虑以下搜索结果:

好的。页面是索引的,只需要查找索引表中的计数和前几项,速度是可以理解的。

现在考虑使用 AND 操作进行以下搜索

这让我很兴奋 ;) 搜索引擎到底如何才能如此快地获得对巨大数据集进行 AND 运算的结果?我看到以下两种执行任务的方法,它们都很糟糕:

  1. 你进行了“大卫”的搜索。拿起巨大的临时表并在其上搜索“John”。但是,临时表没有被“John”索引,因此需要蛮力搜索。无论您拥有什么硬件,这都不会在 0.25 秒内计算出来。
  2. 通过所有可能的单词组合(如“David John”)进行索引。然后我们面临着密钥数量的组合爆炸,甚至谷歌也没有存储容量来处理它。

您可以将任意数量的搜索词组合在一起,并且您仍然可以在 0.5 秒内获得答案!如何?

0 投票
3 回答
406 浏览

lucene - 让 lucene 只返回唯一的线程(索引线程和帖子)

我有一个类似 StackOverflow 的系统,其中内容被组织成线程,每个线程都有自己的内容(问题正文/文本)和帖子/回复。

我正在开发通过 Lucene 搜索此内容的能力,如果可能的话,我决定要为单个帖子编制索引(它使索引更容易更新,并且意味着我有更多的控制权和调整结果的能力),而不是索引整个线程。然而,我遇到的问题是我希望搜索显示线程列表,而不是帖子列表。

如何让 Lucene 只返回唯一线程作为结果,同时搜索帖子的内容?

0 投票
1 回答
675 浏览

silverlight - 从一个 webpart 访问信息并在 sharepoint 2010 中的另一个 webpart 中使用它

我的问题是这个,我使用的是 Sharepoint 2010,我在 sharepoint Designer 2010 中创建了一个表单,在该表单上方我有一个 silverlight webpart。现在,当我单击 Silverlight Webpart 并将该信息插入到它下方的表单中时,我需要能够访问它。

有没有人知道如何做到这一点?

先感谢您。克里斯

0 投票
3 回答
3458 浏览

algorithm - tf-idf:我理解对了吗?

我对做一些文档聚类很感兴趣,现在我正在考虑为此使用 TF-IDF。

如果我没记错的话,TF-IDF 特别用于评估给定查询的文档的相关性。如果我没有特定查询,如何将 tf-idf 应用于集群?

0 投票
2 回答
2047 浏览

php - 协助建立倒排索引

这是我为学校做的信息检索工作的一部分。该计划是使用单词的前两个字母作为键创建单词的哈希图,并将具有两个字母的任何单词保存为字符串值。所以,

hashmap["ba"] = "坏大麦基地"

一旦我完成了对一行的标记,我将获取该哈希图,将其序列化,并将其附加到以密钥命名的文本文件中。

这个想法是,如果我将数据分散到数百个文件中,我将通过降低每个文件的密度来减少完成搜索所需的时间。我遇到的问题是,当我在每次运行中创建 100 多个文件时,无论出于何种原因,它碰巧在创建一些文件时窒息,因此这些条目是空的。有什么办法可以提高效率吗?是否值得继续这样做,还是应该放弃它?

我想提一下我正在使用 PHP。我比较熟悉的两种语言是 PHP 和 Java。我选择 PHP 是因为前端操作起来非常简单,而且我可以毫无问题地添加自动完成/建议搜索等功能。我也认为使用 Java 没有任何好处。任何帮助表示赞赏,谢谢。

0 投票
2 回答
320 浏览

web-services - 开发像 Google 的 adsense 这样的广告系统有什么技巧吗?

为了每次都展示最匹配的广告,至少需要做以下这些事情:

  1. 检索当前页面的主要信息
  2. 获取与上面检索到的信息相关的广告

但以上对于非搜索引擎公司来说几乎是不可能的。

那么对于非谷歌公司来说,接近最佳匹配广告系统的实用方法是什么?

0 投票
4 回答
1117 浏览

database - 数据库行/记录指针

我不知道我想要找出的正确词语,因此很难用谷歌搜索。

我想知道它是否可以使用数据库(独立于技术,但有兴趣了解它是否可以使用 Oracle、MySQL 和 Postgres)指向特定行而不是再次执行我的查询。

所以我最初可能会执行一个查询,找到一些感兴趣的行,然后希望通过指针列表或其他一些元数据来避免再次搜索它们,这些元数据指示数据库上的位置,下次我可以直接去那些结果。

我意识到数据库上有缓存,但我想将这些“指针”保留在其他地方,因此缓存并不能最终解决这个问题。这只是一个索引,我存储索引并以此查找吗?我当前的大多数表都没有索引,我不希望索引有时会降低速度。

那么我一直试图在谷歌中使用的神奇术语是什么?

干杯

0 投票
1 回答
237 浏览

lucene - 信息检索数据库格式?

我正在寻找一些关于信息检索系统(例如,Lucene)如何存储其索引以进行快速“相关性”查找的文档。我的 Google-fu 让我失望了:我找到了一个描述 Lucene 文件格式的页面,但它更关注每个数字的位数,而不是如何使用数据库生成快速查询。

肯定有人有一些有用的书签,他们可以参考我。

谢谢!