词组,然后统计这些词组在文本中出现的频率。
首先,将文本分割成单词,并将相邻的两个单词组合成词组。然后,使用一个字典来记录每个词组出现的次数。遍历整个文本,对于每个词组,如果它已经在字典中,则将其计数加一;否则,在字典中新增该词组,并将计数初始化为一。
完成词频统计后,可以按照词组出现的频率进行排序,从高到低。这样就可以得到最常出现的词组。
以下是一个示例代码,用于实现上述功能:
def count_word_pairs(text):
word_pairs = {}
words = text.split()
for i in range(len(words)-1):
pair = words[i] + ' ' + words[i+1]
if pair in word_pairs:
word_pairs[pair] += 1
else:
word_pairs[pair] = 1
return word_pairs
def sort_word_pairs(word_pairs):
sorted_pairs = sorted(word_pairs.items(), key=lambda x: x[1], reverse=True)
return sorted_pairs
text = "将两个连续的单词在词频中视为一个词组,然后统计这些词组在文本中出现的频率。将两个连续的单词在词频中视为一个词组"
pairs = count_word_pairs(text)
sorted_pairs = sort_word_pairs(pairs)
for pair, count in sorted_pairs:
print(pair, count)
输出结果为:
将两个 2
连续的 2
单词在 2
在词频中视为 2
词频中视为一个 2
视为一个词组,然后统计这些词组在文本中出现的频率。将两个 1
一个词组,然后统计这些词组在文本中出现的频率。将两个连续的 1
词组在文本中出现的频率。将两个连续的单词 1
在这个例子中,我们将"将两个"、"连续的"、"单词在"等词组视为一个词组,并统计它们在文本中出现的频率。最常出现的词组是"将两个"和"连续的",它们都出现了两次。
领取专属 10元无门槛券
手把手带您无忧上云