我们已经建立了一个系统来分析一些数据并以简单的英语输出一些结果(即没有图表等)。当前的实现依赖于大量模板和一些随机化,以便为文本提供尽可能多的多样性。
我们想切换到更高级的东西,希望生成的文本不那么重复,听起来不那么机械化。我在谷歌上搜索了很多,但我找不到具体的东西开始。有任何想法吗?
编辑:馈送到 NLG 机制的数据采用 JSON 格式。这是一个关于网络分析数据的示例。json 文件可能包含例如一个指标(例如访问量)、它在过去 X 天的值、最后一个值是否是预期的以及哪些维度(例如国家或营销渠道)影响了它的变化。
当前的实现可以给出这样的东西:
主要来自 ABC 电子邮件活动的英国总体访问量达到 10K(+20% DoD),比预期值高 10%。用户主要登陆 XXX 页面,而跨设备的增长是一致的。
我们正在寻找一种方法来减少对模板的依赖,听起来更自然并增加词汇量。
您是否尝试过神经网络,尤其是 LSTM 和 GRU 架构?这些模型是预测单词序列的最新发展。生成自然语言意味着生成单词序列,使其对于输入和序列中较早的单词有意义。这相当于预测时间序列。LSTM 旨在预测时间序列。因此,在给定输入序列、输入单词或可以嵌入向量中的任何其他输入的情况下,它通常用于预测单词序列。
Tensorflow、Keras 和 Torch 等深度学习库都具有序列到序列的实现,可用于通过预测给定输入的单词序列来生成自然语言。
请注意,通常这些模型需要大量的训练数据。
您需要满足两个标准才能从此类模型中受益: