1

我正在尝试为我最后一年的项目开发一个以音乐为中心的搜索引擎。我一直在研究潜在语义分析及其在互联网上的工作原理。我无法理解 LSI 在整个搜索引擎系统中的确切位置。是否应该在网络爬虫完成网页查找后使用?

4

1 回答 1

1

我对音乐检索不太了解,但是在文本检索中,只有当搜索引擎使用信息检索的向量空间模型时,LSA 才有意义。最常见的搜索引擎,例如 Lucene,将每个文档分解为单词(标记),删除停用词并将其余的放入索引中,每个通常与一个术语权重相关联,表明该术语在文档中的重要性。

现在可以将(令牌,权重)对的列表视为表示文档的向量。如果您将所有这些向量组合成一个巨大的矩阵并将 LSA 算法应用于该矩阵(抓取和标记化之后,但索引之前),您可以使用 LSA 算法的结果在索引之前转换所有文档的向量。

请注意,在原始向量中,标记表示向量空间的维度。LSA 将为您提供一组新的维度,您必须索引这些维度(例如以自动生成的整数的形式)而不是标记。

此外,您还必须将查询转换为(令牌,权重)对的向量,然后也将基于 LSA 的转换应用于该向量。

我不确定是否有人在任何现实生活中的文本检索引擎中真正做到了所有这些。一个问题是对所有文档向量的矩阵执行 LSA 算法会消耗大量时间和内存。另一个问题是处理更新,即添加新文档或更改现有文档时。理想情况下,您将重新计算矩阵,重新运行 LSA,然后修改所有现有文档向量并重新生成整个索引。不完全可扩展。

于 2012-02-24T09:00:37.123 回答