我正在构建一个系统,它将接收与文件管理有关的查询,例如删除、复制、移动、创建新项.
因此,从它们中提取信息的最佳方法如下:
can you delete file "file name" from "folder name"
然后,系统应收集:
Action : deleting
upon : "file name"
destination : "folder name"
发布于 2019-02-05 15:14:08
自然语言处理相当复杂,还有许多挑战使得像这样的非结构化自然语言查询的解析比看起来更加困难,这取决于底层命令集的宽度。
但是通常情况下,您可能会尝试通过词性标记运行查询,以提取动作的动词短语,用于of /目的地等的动词-对象对,然后将这些术语映射到每个动作可接受的同义词列表中。例如,您可能有“['delete', 'remove', 'rm', 'toss', 'eliminate', ...]
”等“删除”的同义词列表,然后如果动词短语包含这些单词,则设置要删除的操作。关于如何使用NLTK POS标签和其他工具来解析查询,请看本教程,它涵盖了分析句子语义的许多困难:分析句子的意义
您还可能希望查看以下相关线程:
你已经提到了找到一篇关于这方面的学术论文,如果你在寻找更多的期刊文章,我建议搜索术语“自然语言查询”(及其变体)。2010年至今的语义学者对此的探索数据显示,结果超过75,000。
https://stackoverflow.com/questions/54544341
复制