自然语言查询理解

时间:2013-03-18 11:40:01

标签: algorithm nlp search-engine nltk structured-data

我是NLP领域的新手,并为我的问题可能是愚蠢或不正确而道歉。我期待任何可以为我提供正确方向的运动矢量的帮助。

现在我正在研究我的论文,其中有一个重要的部分 - 自然语言查询解析器。以前我有一些搜索引擎算法的经验。但现在我希望我的系统“理解”某些类型的查询,并且能够将其粗略地转换为数据库查询语言以执行结构化搜索。例如,对于“我居住在俄罗斯的朋友”的查询,系统应该在“人”表中查看并选择谁拥有“country = Russia”。

我清楚地知道结构化搜索并不像垃圾邮件过滤这样简单的NLP问题,但现在有很多这样的系统出现:Siri,Google Now,Facebook Graph Search。他们能够“理解”查询,而不仅仅是给出排名结果列表(就像经典搜索引擎那样),而是给出有关信息类型的正确表达。我对它们如何在里面工作感兴趣,但找不到足够的信息。

我很感激任何信息,任何参考和书籍可以帮助我研究这些系统和我的论文进展。最好是那些可以在实践中应用,而不是国防部关闭的发展:)

英语不是我的母语,对不起,我希望你能理解我的问题。

1 个答案:

答案 0 :(得分:2)

你的问题过于宽泛。如果你想得到一个有用的答案,你必须更加具体。


这是一个想法:从查询中删除任何填充词以获取关键字,然后分析关键字以确定其语义含义。例如:

my friends who live in Russia

删除填充词:

friends live Russia

分析(使用同义词,语义和单词列表):

friends -> people,
live -> location,
Russia -> country

然后构造查询。