python - 从句子中获取所有右分支词对

标签 python nlp nltk python-itertools

假设我有一个像这样的字符串:

 'velvet evening purse bags'

我怎样才能得到这个的所有单词对?换句话说,所有这两个词的组合:

'velvet evening'
'velvet purse'
'velvet bags'
'evening purse'
'evening bags'
'purse bags'

我知道 python 的 nltk 包可以提供双字母组,但我正在寻找超出该功能的东西。还是我必须用 Python 编写自己的自定义函数?

最佳答案

您可以使用 itertools.combinations为此:

s = 'velvet evening purse bags'

from nltk import word_tokenize

words = word_tokenize(s)

from itertools import combinations

pairs = [' '.join(comb) for comb in combinations(words, 2)]

print(pairs)

输出:

['velvet evening', 'velvet purse', 'velvet bags', 'evening purse', 'evening bags', 'purse bags']

关于python - 从句子中获取所有右分支词对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546530/

相关文章:

python - 使用来自 NLTK 的斯坦福解析器的依赖树结果与斯坦福解析器不匹配

python - 标记化单词列表

python pptx改变整个表格的字体大小

python - OpenCV立体声校准错误-(-3:内部错误)CALIB_CHECK_COND-函数 'CalibrateExtrinsics'中输入数组1的病态矩阵

python - 将文本注释到轴并对齐为圆

python - 如何在 NLTK 的 Wordnet 中检索目标同义词集的反义词同义词集?

nlp - Openrefine:按标记/字数拆分多值单元格?

python - 在 Django 应用程序中使用 nltk

Python:将 NLTK Stanford POS 标签映射到 WordNet POS 标签

python - 尝试使用 kairos 上传文件时出错