![]() |
1
13
简单的例子是一个反向索引。 最基本的算法很简单:
我所说的“规范化和过滤”单词,是指将所有内容转换为小写、删除常见的“停止词”(the、if、in、a等)、可能的“词干”(删除动词和复数等的常见后缀)。
但是,这是最基本的方法。 |
![]() |
2
11
这里有一个非常基本的描述;有关更多详细信息,您可以阅读本教科书(免费在线): http://informationretrieval.org/ 1). 为所有文件创建索引。索引由数据集中出现的所有唯一单词组成(称为“语料库”)。ids是每个单词的关联列表;每个文档id都指包含该单词的文档。 变体:有时在生成索引时,您希望忽略停止词(“a”、“the”等)。不过,您必须小心(“生存还是毁灭”是一个由stopwords组成的真正的查询)。 有时你也会把单词词干。这对在更大程度上使用后缀和前缀的非英语语言中的搜索质量有更大的影响。 2) 当用户输入查询时,查找相应的列表并合并它们。如果它是一个严格的布尔查询,那么这个过程非常简单——对于和,docid必须出现在所有单词列表中,对于或,至少在一个单词列表中,等等。
4) 您还可以存储单词位置以推断短语等。 其中大部分与桌面搜索无关,因为您对召回(所有包含该术语的文档)比对排名更感兴趣。 http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html ,可通过回程机访问 |
![]() |
3
2
ApacheLucene是一个完全用Java编写的高性能、全功能文本搜索引擎库。这项技术几乎适用于任何需要全文搜索的应用程序,尤其是跨平台的应用程序。 |
![]() |
Max · 用两列中的特定值对识别R中的数据帧行 6 月前 |
![]() |
Dasi · Pandas.loc返回序列或浮点数不一致 11 月前 |
![]() |
climsaver · 首次连续查找两个相同值的索引 1 年前 |
![]() |
babipsylon · 在C中创建div_t类型结构元素的数组++ 1 年前 |
![]() |
Martin AJ · 如何在庞大的数据集上快速执行COUNT(*)? 1 年前 |