- 自制AI图像搜索引擎
- 明恒毅
- 424字
- 2020-06-27 17:47:25
1.2.2 建立索引
经过文本分析后,得到的结果称为词(Term),我们利用它建立索引。首先使用得到的词创建一个字典,然后对字典按字母顺序进行排序,最后合并相同的词,形成文档倒排表(Posting List),具体过程如下。
1.使用词生成字典,如表1-1所示
表1-1 使用词生成字典
![](https://epubservercos.yuewen.com/BF67CE/16568261905809406/epubprivate/OEBPS/Images/a1.jpg?sign=1739478041-LrQ1OMY1v0lqPZR9wVtwJd6f9HAt4MJe-0-b5d0212a40c3e44948aea915a9afb408)
2.对字典按字母顺序排序,如表1-2所示
表1-2 对字典按字母顺序排序
![](https://epubservercos.yuewen.com/BF67CE/16568261905809406/epubprivate/OEBPS/Images/a2.jpg?sign=1739478041-DXVhlqDzLhrtFcfEokQFQsXbetMJvnMd-0-60a7f9026db589bbc49194051f4bccd3)
3.合并相同的词,形成文档倒排链表
在文档倒排表中,有几个概念需要解释一下。文档频率(Document Frequency)表示共有多少个文档包含这个词。词频率(Term Frequency),表示这个文档中包含此词的个数。在图1-4中,左边是按字母顺序排序的字典合并相同词,并统计出该词在文档中出现次数的结果。中间和右边是文档1和文档2中包含某个词的次数——词频率。它们之间是用链表的形式串起来的,又因为是根据词的值来查找相关文档的,而非在文档中查找相关的值,和正常顺序是相反的,故称其为文档倒排链表或倒排索引。
![](https://epubservercos.yuewen.com/BF67CE/16568261905809406/epubprivate/OEBPS/Images/8.jpg?sign=1739478041-6wWa0JAIsaq0o0r5ajq64jXaSdB0ASuN-0-df1b4c1b467dd0f100897bbcc240d5de)
图1-4 文档倒排链表
至此,索引已经构建好了。根据以上的文档倒排链表,我们就能使用关键词来查到相应的文档了。