提出动态问题以获取信息



我正在开发一个聊天机器人,它向用户询问数据库中不存在的信息。

考虑数据库有每个人的 40 个详细信息:姓名、年龄、最喜欢的食物、最喜欢的餐厅、最喜欢的城市、最喜欢的城市的原因、城市中最喜欢的四件事等。

所以,问题可以是 "我们叫什么名字?" "你为什么喜欢巴黎?" "说出巴黎你最喜欢的四个地方?">

等。

我希望这些问题由机器人即时生成,但不知道如何用英语表述这些问题。 任何帮助或指导(研究论文/图书馆/代码等(将不胜感激。

自然语言生成是一个广泛的领域。如果你有一个(不仅是有限的,而且是(足够小的可能问题集,你可以使用罐装文本,这意味着你准备模板字符串,你可以用数据库中的必要信息来丰富,例如

"why do you like {}?"format("Paris"). 

这不是最优雅的方法,但绝对是NLP系统中经常应用的方法。 或者,您必须构建内容确定、文本规划、微观规划,然后是表面实现的完整管道。 第一个意味着您确定问题的内容,例如"喜欢巴黎的原因"。中间的概念意味着建立一个类似HPSG的结构,揭示你的表达的构成结构,语义角色,动词的参数,副词等。 表面实现可以通过简单的NLG或您选择的其他工具/平台来完成。 这两种方式都可以在线生成,但第一种方式肯定是工作量更少。 为了获得良好的科学概述:https://arxiv.org/pdf/1703.09902.pdf

最新更新