如何从问题模板中生成“什么”、“为什么”和“谁”类型的问题?

人工智能 机器学习 自然语言处理
2021-10-27 11:41:21

我想知道是否可以通过任何方式生成n基于填空题的题型。

例如下面的模板

______ 是植物产生能量的过程。

可能导致产生以下具体问题

植物产生能量的过程叫什么?

如果是这样,我怎样才能做到这一点?

我熟悉并使用过自然语言处理技术,并且对此实现算法没有问题,但我不知道从哪里开始。

1个回答

这似乎很棘手。似乎任何“表面级”转换都不会给出足够的结果,任何可行的解决方案都需要正确捕获句子结构,并生成语法正确的转换句子。

一种可能的选择是使用“传统管道” - 例如,您运行 NLP 管道进行句法解析,这对于一般领域英语来说非常准确(尽管您需要对间隙“____”部分进行一些特殊处理),然后实现一些启发式规则来转换语法树,并从转换后的树中重新生成一个句子。有很多关于机器翻译领域中类似转换的出版物,用作在对具有非常不同的单词(或句子部分)顺序的语言对运行统计机器翻译之前预处理数据的一种方式。

第二个可能可行的选择是研究受控自然语言领域,或类似http://www.grammaticalframework.org/的东西,它可以用作帮助生成新句子的工具包。

当前的时尚还提出了一个非常不同的选项,它可能会起作用——你可以训练一个带有注意力机制的字符级循环神经网络(查看最近的神经机器翻译出版物以获取详细信息)来进行这种转换,但我不确定如何它需要大量的训练数据才能获得不错的准确性。