【问题标题】:NLTK: No value returned when searching the CMU dictionary based on syllable valueNLTK:根据音节值搜索 CMU 字典时没有返回值
【发布时间】:2017-07-08 12:46:30
【问题描述】:

我正在练习“Python 中的自然语言处理”一书中的 nltk 示例。在尝试从 cmu 字典(第 2 章中提供的示例之一)中获取以音节“p”开头且音节长度为 3 的单词时,我没有得到任何返回值。我正在使用 Python 3。下面是代码:

条目 = nltk.corpus.cmudict.entries()

p3 = [(pron[0] + '-' + pron[2], 单词) 对于 pron,如果 pron[0] == 'P' 和 len(pron) == 3],则条目中的单词]

但是没有返回值:

p3 = []

但是,我知道价值是存在的。见下文:

[(word, pron[0] + '-' + pron[2]) for word, pron in entries if word == 'perch']

[('鲈鱼', 'P-CH')]

【问题讨论】:

  • 我的错,我意识到了错误。我已经将“pron”的位置换成了“word”,从而导致了这个问题。更正后的代码是“[(pron[0] + '-' + pron[2], word) for word, pron in entries if pron[0] == 'P' and len(pron) == 3]”
  • 我投票决定将此问题作为离题结束,因为这是他代码中 OP 的拼写错误。

标签: python-3.x nltk


【解决方案1】:

我的错,我意识到了错误。我已经将“pron”的位置换成了“word”,从而导致了这个问题。更正后的代码是:

p3 = [(pron[0] + '-' + pron[2], 单词) 对于单词,如果 pron[0] == 'P' 和 len(pron) == 3] 条目中的 pron "

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多