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)
text = 'velvet evening purse bags'
n = []
ans = []
for i in text.split():
for j in text.split():
if j != i:
if (i, j) not in n:
ans.append((i, j))
n.append((i, j))
n.append((j, i))
这应该很有趣()
如果输入是
velvet evening purse bags
,而所需的输出是@MrGeek使用itertools.combinations
生成的,那实际上就是skipgrams
来自https://tedboy.github.io/nlps/generated/generated/nltk.skipgrams.html的定义因此,您可以通过以下方法实现相同的效果:
[输出]:
在这种情况下,每个单词只能与它右边的另一个单词组合,这在某种程度上符合人类英语。你知道吗
在这种情况下,所有单词的“排列”都成对出现,甚至连单词本身也成对出现:
[输出]:
您可以使用^{} 来实现:
输出:
你也可以去老派。。。你知道吗
输出
相关问题 更多 >
编程相关推荐