2

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

我的想法是这样的:

  1. 建立一个包含流行词的词典
  2. 对于 html 文档中的每个句子,用空格分隔单词
  3. 进行线性搜索以检查某些单词是否在字典中。如果是,这些是该页面的关键字。
  4. 让关键字是数据库表。将 url 存储在所有对应的关键字表中

所以假设我们有一句话“我邀请她去市中心附近的当地餐馆吃饭”。不包括停止词的词是:{invited, Dinner, local, restaurant, Downtown}

字典只包含词{邀请、晚餐、餐厅}

以下是问题:

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

欢迎任何意见。谢谢!

4

0 回答 0