python - 在 Python 中使用 NLTK 找韵

标签 python nltk

我有一首诗,我希望 Python 代码只打印那些彼此押韵的单词。

到目前为止,我能够:

  1. 使用 wordpunct_tokenize() 拆分诗歌句子
  2. 通过删除标点符号来清洁单词
  3. 将这首诗的每个句子的最后一个词存储在一个列表中
  4. 使用 cmudict.entries() 生成另一个列表,元素作为最后的单词及其发音。

我坚持下一步。我应该如何尝试匹配这些发音?总之,我的主要任务是找出两个给定的单词是否押韵。如果押韵,则返回 True,否则返回 False

最佳答案

Pronouncing library为此做得很好。无需黑客攻击,加载速度快,并且基于 CMU 发音词典,因此非常可靠。

https://pypi.python.org/pypi/pronouncing

来自他们的 documentation :

>>> import pronouncing
>>> pronouncing.rhymes("climbing")
['diming', 'liming', 'priming', 'rhyming', 'timing']

关于python - 在 Python 中使用 NLTK 找韵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714531/

相关文章:

Python 序数排序

python - Gensim入门错误: No such file or directory: 'vectors.bin'

python - Pandas 将 ":"插入数值

python - 确定一个句子的时态Python

python - 滥用nltk的word_tokenize(sent)的后果

python - 我如何将字符串分成 python 部分

python - Chrome 中的嵌入器不允许生成 Wasm 代码

python - 在 Python 中,有没有一种方法可以在不保留先前词汇的情况下识别文本中的城市?

python - “LSTM”对象没有属性 '_flat_weights_names'

python - 如何使用 Python NLTK 计算 WordNet 中两个形容词之间的最短路径(测地线)距离?