首页 > 解决方案 > 如何从给定的句子中提取信息

问题描述

我正在构建一个系统,它将接收与文件管理相关的查询,如 删除、复制、移动、创建新项目......

那么,从它们中提取信息的最佳方法是什么,如下所示:

can you delete file "file name" from "folder name"

那么系统应该收集:

Action : deleting
upon   : "file name"
destination : "folder name" 

标签: machine-learningnlp

解决方案


自然语言处理相当复杂,并且有许多挑战使得解析这样的非结构化自然语言查询比看起来更困难,具体取决于底层命令集的广泛程度。

但一般来说,您可能会尝试通过词性标记器运行查询,以提取动作的动词短语、on/destination 的动词-宾语对等。然后您会将这些术语映射到可接受的列表每个动作的同义词。例如,您可能有一个“删除”的同义词列表,例如['delete', 'remove', 'rm', 'toss', 'eliminate', ...],等,然后如果动词短语包含这些词中的任何一个,则将操作设置为删除。关于如何使用 NLTK 词性标注器和其他工具来解析查询,看看这个教程,它涵盖了分析句子语义的许多困难:Analyzing the Meaning of Sentences

您可能还想查看这些相关线程:

您曾提到要找到一篇关于此的学术论文,如果您正在寻找更多期刊文章,我建议您搜索术语“自然语言查询”(及其变体)。从 2010 年至今,在 Semantic Sc​​holar 上进行的搜索发现了超过 75,000 个结果。


推荐阅读