Python 根据词类分类的单词生成有意义的句子

Python 根据词类分类的单词生成有意义的句子,python,nlp,nlg,Python,Nlp,Nlg,我正在从事自然语言生成项目。 我从段落中创造了一大堆单词,如名词、动词、形容词等 我试图生成主语+动词+宾语的句型。 示例: 名词:伊丽莎白,狗,埃菲尔铁塔,自行车 动词:唱歌、吠叫、发光 目前的输出:伊丽莎白发光,埃菲尔铁塔吠叫,自行车唱歌…等 预期配对:伊丽莎白唱歌,狗吠,埃菲尔铁塔发光,自行车发光 主语和动词之间必须有一种关系,这种关系将产生一个有意义的句子。有没有办法在名词和可能的动词之间建立关系,从而生成主语+动词模式 还有,如果我们有动词,那么使用输入语料库找到可能的对象来生成新

我正在从事自然语言生成项目。 我从段落中创造了一大堆单词,如名词、动词、形容词等 我试图生成主语+动词+宾语的句型。
示例:

  • 名词:伊丽莎白,狗,埃菲尔铁塔,自行车
  • 动词:唱歌、吠叫、发光
  • 目前的输出:伊丽莎白发光,埃菲尔铁塔吠叫,自行车唱歌…等
  • 预期配对:伊丽莎白唱歌,狗吠,埃菲尔铁塔发光,自行车发光
主语和动词之间必须有一种关系,这种关系将产生一个有意义的句子。有没有办法在名词和可能的动词之间建立关系,从而生成主语+动词模式

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

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

    • 让我们这样想。有些行为,比如吠叫和唱歌,只有有生命的生物才能完成,比如自行车, 没有生命的物体,不能唱歌。此外,吠叫是由动物完成的,也就是说,人类不可能是进行吠叫行为的人。 因此,让我们为每个成分定义某些特征。例如:

      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']))
      
      运行此操作时,您会得到:

      >>> 
      Elizabeth sings
      dog barks
      Eiffel Tower shines
      Bike shines
      >>>
      

      动词与适当的宾语搭配也是如此。您只需为您的配对指定适当的特征即可

      参见Nate Chambers名下的作品集。他做你想做的事

      也可能是相关的