【问题标题】:Convert list of string to list of synsets将字符串列表转换为同义词列表
【发布时间】:2019-03-26 10:49:05
【问题描述】:

将字符串列表转换为 synset 类型的对象列表。

我尝试拆分和添加,但无法将其类型转换为 sysnet 类型。

    inp="[Synset<'history.n.02'>,Synset<'long.n.02'>]"

我应该得到输出为

    [Synset<'history.n.02'>,Synset<'long.n.02'>]

这样输出应该是同义词列表。 供理解synsets

【问题讨论】:

    标签: python nltk wordnet synset


    【解决方案1】:

    你可以使用 wn.synset()

    inp="[Synset<'history.n.02'>,Synset<'long.n.02'>]"
    inp=inp[1:-1]
    for i in inp.split(','):
        val= i[8:-2]
        print wn.synset(val)
    

    【讨论】:

      【解决方案2】:

      怎么样

      from nltk.corpus import wordnet as wn
      
      words = ['dog','cat']
      wn_words = [wn.synsets(word) for word in words]
      

      【讨论】:

      • 其实我是想一次又一次地避免sysnet的这种计算,所以这不合适
      • @Dpseudo Coders 对words中的每个单词进行一次同义词集计算
      • 是的,但是,有没有一种方法可以更快地将字符串转换为同义词集对象
      • 如果你能建议将“Synset”转换为synset对象的方法
      • 不确定我是否理解。 inp 列表中的元素类型是什么?想要的类型是什么?
      猜你喜欢
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 2015-09-18
      • 2017-11-15
      相关资源
      最近更新 更多