【发布时间】:2011-01-25 16:06:22
【问题描述】:
对于一个玩具项目,我想用 Lucene 实现一个自动问答系统,并试图找出一种合理的方法来实现它。基本操作如下:
1) 用户将输入一个问题。
2) 系统会识别问题中的关键词。
3) 将在大型知识库中搜索关键字,并将匹配的句子显示为答案。
我的知识库(即语料库)不是结构化的。它只是一个大而连续的文本(例如,没有任何章节的用户手册)。我的意思是唯一的结构是句子和段落被识别出来。
我计划将每个句子或段落视为单独的文档。为了在上下文中给出答案,我可以考虑在索引之前/之后保留一个句子/段落作为有效负载。我想知道这是否有意义。另外,我想知道这种系统是否还有其他久经考验且众所周知的方法。例如,想到的另一种方法是将语料库的大块索引为具有标记位置的文档,然后处理找到的关键字附近以构建我的答案。
我会非常感谢基于经验或直觉的直接建议,以及针对使用 Lucene 的问答系统的教程或介绍性材料。
谢谢。
【问题讨论】:
-
也许,我还应该补充一点,内存是一个问题。我不想将我所有的知识库都保存在内存中。可能,这排除了使用荧光笔的方法。
-
Lucene 在处理大型文档集时非常快速高效。默认情况下,索引在磁盘上,尽管您可以映射到内存。
标签: lucene information-retrieval