假设我有一个很大的语料库(例如英语或任意语言),我想对其执行一些语义搜索。例如我有一个查询:
“小心:[sg]的[art]舰队要来[do sg]!”
语料库包含以下句子:
“小心:一支外星舰队即将摧毁我们的星球!”
可以看出我的查询字符串可能包含“语义占位符”,例如:
- [art] - 文章的一些占位符(例如英文中的 a / an)
- [sg], [do sg] - NPs 和 VPs(主语和谓语)的一些占位符
我想开发一个能够有效处理这些查询的库。我怀疑解析文本需要某种 POS 标记,但因为我不想完全重新实现已经存在的全文搜索引擎以使其工作,我正在考虑如何集成这个行为进入像 Lucene 这样的搜索引擎?
我知道有 SpanQueries 在某些情况下可能表现类似,但正如我所见,Lucene 不会对存储的文本做任何语义处理。
有可能实现这样的行为吗?还是我必须编写自己的搜索引擎?