搜索引擎如何处理分词和索引

时间:2013-02-22 22:47:34

标签: java search indexing search-engine text-segmentation

我正在考虑实施一个小型搜索引擎。但是我不确定搜索引擎是如何进行分词的。

我的想法是这样的:

  1. 构建包含热门词汇的词典
  2. 对于html文档中的每个句子,按空格分隔单词
  3. 进行线性搜索以检查某些单词是否在字典中。如果是,则这些是该页面的关键字。
  4. 让关键字为数据库表。将网址存储在所有相应的关键字表
  5. 所以我们假设有一句话“我邀请她在市中心附近的一家当地餐馆吃饭。” 不包括停止词的词是:{邀请,晚餐,当地,餐馆,市中心}

    字典只包含{invite,dinner,restaurant}字样

    以下是问题:

    1. 如何处理字典外的单词? (例如市中心)
    2. 如何处理过去时,复数形式等?我应该将所有带有特定前缀的单词一起存储吗(例如“邀请”将包含“邀请,邀请,邀请......”)那么像“后退”和“后退”这样的词呢?
    3. 如何处理“本地餐厅”等查询?简单地结合“本地”和“餐馆”的结果似乎不是一个好的解决方案,而将“本地餐馆”存储为另一个关键字表可能会导致更多的重复,并给分词带来困难。
    4. 还有比我的想法更好的方法吗?
    5. 欢迎任何评论。谢谢!

0 个答案:

没有答案