zoukankan      html  css  js  c++  java
  • 我刚入门,收藏一个基础问题:什么是倒排索引

    在多篇文章中寻找一个词有两种方法,一种是字符串匹配,即在每篇文章中做字符串匹配,查找该字符串是否存在。字符串匹配有多种方法,可以参见《算法导论》的32章《String Matching》,这里就不细表了。

        另一种方法就是先做倒排索引,再查找。什么是倒排索引呢?请看下面的例子:
    假设文章1的内容是:aaa bbb ccc ddd
    文章2的内容是:bbb ddd yyy

        上面的对应关系是:“文章号”对“文章中所有关键词”。倒排索引把这个关系倒过来,变成:“关键词”对“拥有该关键词的所有文章号”。文章1,2经过倒排后变成:
    aaa 1
    bbb 1,2
    ccc 1
    ddd 1,2
    yyy 2

        当建好了上面所示的倒排索引后,一旦我们要查找哪些文章中含有某个关键字时,只需取出该关键词所对应的文章号就行了。
        比如我们查找aaa,返回1.查找ddd,返回1,2

        一个使用倒排索引的经典例子是:但凡英文的技术书籍,书的最后面都有一个index,你可以通过它找到一个关键词出现在哪些页面里。这个就是关键词对拥有该关键词的页面的索引。

        web搜索引擎中所用的倒排索引就是这样的。首先对一篇文章分词,去掉“的、啊、哦”等等停用词,然后对剩下的关键词建立倒排索引。

  • 相关阅读:
    ffmpeg之AVFrame
    ffmpeg之samplefmt
    音视频基本概念
    cmake函数 file
    ffmpeg之AVPacket
    ffmpeg之AVFormatContext
    存储格式:packed和planar
    ffmpeg之channel_layout
    cmake函数: get_filename_component
    ffmpeg整体结构
  • 原文地址:https://www.cnblogs.com/ilovexiao/p/951501.html
Copyright © 2011-2022 走看看