0

假设我有一个很大的语料库(例如英语或任意语言),我想对其执行一些语义搜索。例如我有一个查询:

“小心:[sg]的[art]舰队要来[do sg]!”

语料库包含以下句子:

“小心:一支外星舰队即将摧毁我们的星球!”

可以看出我的查询字符串可能包含“语义占位符”,例如:

  • [art] - 文章的一些占位符(例如英文中的 a / an)
  • [sg], [do sg] - NPs 和 VPs(主语和谓语)的一些占位符

我想开发一个能够有效处理这些查询的库。我怀疑解析文本需要某种 POS 标记,但因为我不想完全重新实现已经存在的全文搜索引擎以使其工作,我正在考虑如何集成这个行为进入像 Lucene 这样的搜索引擎?

我知道有 SpanQueries 在某些情况下可能表现类似,但正如我所见,Lucene 不会对存储的文本做任何语义处理。

有可能实现这样的行为吗?还是我必须编写自己的搜索引擎?

4

1 回答 1

0

使用 Lucene,您可以向 TokenStream 中的单个项目添加额外的标记,但我不知道如何处理跨越多个单词的标签。

于 2012-11-26T00:43:23.260 回答