gpt4 book ai didi

java - SimpleNLG:我们如何指定数量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:39 28 4
gpt4 key购买 nike

我的问题是如何在名词短语中指定数量?例如:

NPPhraseSpec np = nlgFactory.createNounPhrase("", "apple");

例如,如何生成“5 个苹果”?一种解决方案是放置一个预修饰符,代码为:

    Lexicon lexicon = Lexicon.getDefaultLexicon();
NLGFactory nlgFactory = new NLGFactory(lexicon);
Realiser realiser = new Realiser();
NPPhraseSpec np = nlgFactory.createNounPhrase("", "apple");
np.addPreModifier("5");
np.setPlural(true);
System.out.println(realiser.realiseSentence(np));

但是,难道没有另一种解决方案可以处理数字并自动将名词变成复数吗?

最佳答案

恐怕没有内置函数可以执行此操作。

但是,如果您将 SimpleNLG 插入到更大的管道中,则可以通过在 SimpleNLG 之前计算数量来自动执行此操作。例如,假设您通过计算 NP(苹果、香蕉、梨等)的头部的数量 n 得到“5”:如果 n 大于 1,则将 NP 的复数设置为真; else 什么也不做,因为 plural=false 是默认的。您甚至可以将其增加到更高级的值,例如:如果 n 等于 0,则添加“no”作为说明符。

关于java - SimpleNLG:我们如何指定数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35826611/

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