鉴于我有一个字符串:

 'velvet evening purse bags'

我怎样才能得到这个的所有单词对?换句话说,这个的所有 2 字组合:
'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/

10-12 21:59