问题标签 [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.
java - Java 开源文本挖掘框架
我想知道什么是最好的基于 Java 的开源文本挖掘框架,以使用 botg 机器学习和字典方法。
我正在使用 Mallet,但没有那么多文档,我不知道它是否符合我的所有要求。
java - 用于严格文档相似度的文本相似度函数
我正在编写一个 java 软件,它必须对以 UTF-8 编码的两个文档的相似性做出最终判断。
这两个文档很可能相同或略有不同,因为它们具有许多共同特征,例如日期、位置、创建者等,但它们的文本决定了它们是否真实。
我希望这两个文档的文本要么非常相似,要么根本不相似,因此我可以对设置相似性的阈值相当严格。例如,我可以说这两个文档只有在它们有 90% 的词是相同的情况下才相似,但我想要更健壮的东西,它适用于短文本和长文本。
总结一下,我有:
- 两份文件,要么非常相似,要么根本不相似,但是:
- 两份文件更可能相似
- 文档可以很长(一些段落)也可以很短(一些句子)
我已经尝试过simmetrics,它有大量的字符串匹配函数,但我最感兴趣的是关于可能使用的算法的建议。
我有可能的候选人是:
- Levenshtein:它的输出对于短文本更重要
- 重叠系数:可能,但它可以很好地区分不同长度的文档吗?
此外,仅当它们完全相同时才考虑两个相似的文本不会很好,因为我希望只有几个单词不同的文档通过相似性测试。
search - 搜索引擎如何进行“AND”运算?
考虑以下搜索结果:
- 谷歌搜索“大卫” ——0.28秒内点击5.91 亿次
- Google for 'John' - 7.85 亿次点击在 0.18 秒内
好的。页面是索引的,只需要查找索引表中的计数和前几项,速度是可以理解的。
现在考虑使用 AND 操作进行以下搜索:
- Google for 'David John' ('David' AND 'John') -在 0.25 秒内获得1.73 亿次点击
这让我很兴奋 ;) 搜索引擎到底如何才能如此快地获得对巨大数据集进行 AND 运算的结果?我看到以下两种执行任务的方法,它们都很糟糕:
- 你进行了“大卫”的搜索。拿起巨大的临时表并在其上搜索“John”。但是,临时表没有被“John”索引,因此需要蛮力搜索。无论您拥有什么硬件,这都不会在 0.25 秒内计算出来。
- 通过所有可能的单词组合(如“David John”)进行索引。然后我们面临着密钥数量的组合爆炸,甚至谷歌也没有存储容量来处理它。
您可以将任意数量的搜索词组合在一起,并且您仍然可以在 0.5 秒内获得答案!如何?
lucene - 让 lucene 只返回唯一的线程(索引线程和帖子)
我有一个类似 StackOverflow 的系统,其中内容被组织成线程,每个线程都有自己的内容(问题正文/文本)和帖子/回复。
我正在开发通过 Lucene 搜索此内容的能力,如果可能的话,我决定要为单个帖子编制索引(它使索引更容易更新,并且意味着我有更多的控制权和调整结果的能力),而不是索引整个线程。然而,我遇到的问题是我希望搜索显示线程列表,而不是帖子列表。
如何让 Lucene 只返回唯一线程作为结果,同时搜索帖子的内容?
silverlight - 从一个 webpart 访问信息并在 sharepoint 2010 中的另一个 webpart 中使用它
我的问题是这个,我使用的是 Sharepoint 2010,我在 sharepoint Designer 2010 中创建了一个表单,在该表单上方我有一个 silverlight webpart。现在,当我单击 Silverlight Webpart 并将该信息插入到它下方的表单中时,我需要能够访问它。
有没有人知道如何做到这一点?
先感谢您。克里斯
algorithm - tf-idf:我理解对了吗?
我对做一些文档聚类很感兴趣,现在我正在考虑为此使用 TF-IDF。
如果我没记错的话,TF-IDF 特别用于评估给定查询的文档的相关性。如果我没有特定查询,如何将 tf-idf 应用于集群?
php - 协助建立倒排索引
这是我为学校做的信息检索工作的一部分。该计划是使用单词的前两个字母作为键创建单词的哈希图,并将具有两个字母的任何单词保存为字符串值。所以,
hashmap["ba"] = "坏大麦基地"
一旦我完成了对一行的标记,我将获取该哈希图,将其序列化,并将其附加到以密钥命名的文本文件中。
这个想法是,如果我将数据分散到数百个文件中,我将通过降低每个文件的密度来减少完成搜索所需的时间。我遇到的问题是,当我在每次运行中创建 100 多个文件时,无论出于何种原因,它碰巧在创建一些文件时窒息,因此这些条目是空的。有什么办法可以提高效率吗?是否值得继续这样做,还是应该放弃它?
我想提一下我正在使用 PHP。我比较熟悉的两种语言是 PHP 和 Java。我选择 PHP 是因为前端操作起来非常简单,而且我可以毫无问题地添加自动完成/建议搜索等功能。我也认为使用 Java 没有任何好处。任何帮助表示赞赏,谢谢。
web-services - 开发像 Google 的 adsense 这样的广告系统有什么技巧吗?
为了每次都展示最匹配的广告,至少需要做以下这些事情:
- 检索当前页面的主要信息
- 获取与上面检索到的信息相关的广告
但以上对于非搜索引擎公司来说几乎是不可能的。
那么对于非谷歌公司来说,接近最佳匹配广告系统的实用方法是什么?
database - 数据库行/记录指针
我不知道我想要找出的正确词语,因此很难用谷歌搜索。
我想知道它是否可以使用数据库(独立于技术,但有兴趣了解它是否可以使用 Oracle、MySQL 和 Postgres)指向特定行而不是再次执行我的查询。
所以我最初可能会执行一个查询,找到一些感兴趣的行,然后希望通过指针列表或其他一些元数据来避免再次搜索它们,这些元数据指示数据库上的位置,下次我可以直接去那些结果。
我意识到数据库上有缓存,但我想将这些“指针”保留在其他地方,因此缓存并不能最终解决这个问题。这只是一个索引,我存储索引并以此查找吗?我当前的大多数表都没有索引,我不希望索引有时会降低速度。
那么我一直试图在谷歌中使用的神奇术语是什么?
干杯
lucene - 信息检索数据库格式?
我正在寻找一些关于信息检索系统(例如,Lucene)如何存储其索引以进行快速“相关性”查找的文档。我的 Google-fu 让我失望了:我找到了一个描述 Lucene 文件格式的页面,但它更关注每个数字的位数,而不是如何使用数据库生成快速查询。
肯定有人有一些有用的书签,他们可以参考我。
谢谢!