从按词类分类的词生成有意义的句子

2024-10-02 08:26:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在进行自然语言生成项目。 我从段落中创造了一袋词,比如名词,动词,形容词等 我试图生成主语+动词+宾语的句式。
示例:

  • 名词:伊丽莎白,狗,埃菲尔铁塔,自行车
  • 动词:歌唱,吠叫,闪耀
  • 目前输出:伊丽莎白闪耀,埃菲尔铁塔狂吠,自行车歌唱……等等
  • 预期配对:伊丽莎白唱歌,狗叫,埃菲尔铁塔闪耀,自行车闪耀

主语和动词之间必须有一种关系,这样才能创造出有意义的句子。是有没有办法在名词和可能动词之间建立关系来产生主语+动词模式?在

另外,如果我们有动词,那么使用输入语料库来寻找可能的宾语来生成新的有意义的句子?
示例:

  • 动词:骑马,阅读
  • 物品:马、自行车、书籍、小说。在
  • 预期配对:骑马、骑自行车、看书、看小说。在

Tags: 项目示例关系自行车动词小说句子意义
2条回答

参见奈特·钱伯斯以"narrative schemas"为名的作品集。他做你想做的。在

This也可能相关。在

让我们这样想吧。有些行为,如吠叫和唱歌,只能由有生命的生物来完成,比如自行车, 无生命的物体,不能唱歌。而且,吠叫是由动物来完成的,也就是说,人类不可能是吠叫的人。 因此,让我们为每个组成部分定义特定的特征。例如:

eli = {'CAT': 'N', 'ORTH': 'Elizabeth', 'FEAT':'human'}
dog = {'CAT': 'N', 'ORTH': 'dog', 'FEAT':'animal'}
eiffel = {'CAT': 'N', 'ORTH': 'Eiffel Tower', 'FEAT':'inanimate'}
bike = {'CAT': 'N', 'ORTH': 'Bike', 'FEAT':'inanimate'}

nouns = [eli, dog, eiffel, bike]

sings = {'CAT': 'V', 'ORTH': 'sings', 'FEAT':'human'}
barks = {'CAT': 'V', 'ORTH': 'barks', 'FEAT':'animal'}
shines = {'CAT': 'V', 'ORTH': 'shines', 'FEAT':'inanimate'}

verbs = [sings, barks, shines]

# Our sentence pattern is: noun + verb + noun

for n in nouns:
    for v in verbs:
        if n['FEAT'] == v['FEAT']:
            print('{} {}'.format(n['ORTH'], v['ORTH']))

运行此程序时,您将获得:

^{pr2}$

动词和适当的宾语搭配也是如此。你只需要给你的配对指定适当的特征。在

相关问题 更多 >

    热门问题