gpt4 book ai didi

java - NLG - 使用 simplenlg 创建文本描述

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:18 25 4
gpt4 key购买 nike

我正在尝试借助 NLG 生成产品描述。例如,如果我指定产品(例如手机)的属性,例如它的操作系统RAM处理器, display, battery 等,它应该给我输出一个可读的手机描述。我看到有一些付费服务(Quill、Wordsmith 等)也是这样做的。然后我遇到了用于 NLG 的开源 Java API - simplenlg .我看到了如何通过指定句子短语和特征(例如时态、询问等)来创建句子,但没有看到从文本创建描述的选项。

有人知道如何使用 simplenlg 从单词创建文本描述吗?

是否有任何其他工具/框架/API 可用于完成此任务(不限于 Java)?

最佳答案

SimpleNLG 主要是一个 Surface Realizer .它需要格式良好的输入,但可以执行诸如更改句子时态之类的任务。可以在上面的链接中找到实现者可以执行的任务类型的说明。

像您描述的那样生成句子需要额外的组件来处理文档规划和微观规划。这些组件之间的确切界限是模糊的,但从广义上讲,您将定义要在文档计划中说的内容,然后让微计划员执行任务,例如引用表达世代(选择是否说“它”而不是“手机” ') 和聚合,即句子的合并。 SimpleNLG 对聚合有一些支持。

还值得注意的是,这 3 个阶段的过程并不是执行 NLG 的唯一方法,它只是一种常见的方法。

据我所知,没有神奇的解决方案可以从随机域中获取一些信息并生成可读且有意义的文本。在您的手机示例中,将描述链接在一起并形成类似以下内容是微不足道的:

The iPhone 7 has iOS11, 2GB RAM, a 1960 mA·h Li-ion battery and a $649 retail cost for the 32GB model.

但这只是简单的字符串连接或数据插值。它没有考虑细微差别,比如是否更好地说:

The iPhone 7 runs iOS11, has 2GB of RAM and is powered by a 1960 mA·h Li-ion battery. It costs $649 retail for the 32GB model.

在第二个例子中,我调整了动词(因此也调整了名词短语),使用了“它”的指称表达,并将我们的长句一分为二(由于拆分,还有一些进一步的变化)。进行这些更改需要了解单词及其在域中的用法(因此需要了解计算规则)。它很快变得非常重要。

如果您的要求很简单,如一部手机的 5 或 6 条信息,那么如果没有 NLG 软件,您可能会做得很好,只需创建某种模板并确保您的所有数据在插入时都有意义。然而,一旦您超越手机,描述汽车,您就需要为新领域再次完成所有这些工作。

值得一看 Ehud Reiter's blog (SimpleNLG 的初始作者)。还有一些论文,例如 Albert Gatt (Survey of the State of the Art in Natural语言生成:核心任务、应用和评估)虽然后者有点密集,如果你只是涉足一点编程,但它确实说明了 NLG 是什么、它能做什么以及它当前的局限性。

关于java - NLG - 使用 simplenlg 创建文本描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44118463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com