You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

统计词频时能否合并两个词计算?附Python实现代码

关于词频统计中合并词语的问题解答

当然可以啊!把固定搭配或者特定的两个词合并成一个整体再统计词频,在很多场景下特别实用——比如处理专业术语、常用短语的时候,这样统计出来的结果会更贴合实际语义,而不是把原本关联的两个词拆分开来统计,丢失了搭配的含义。

结合你给出的top_N高频词统计代码,我给你调整一下,加入合并指定词对的逻辑:

首先,咱们先明确要合并的词对(比如把"customer service"合并成"customer_service",后续统计时就会当作一个独立词),然后在预处理阶段先完成替换,再走原来的统计流程。修改后的代码如下:

import string
import pandas as pd
from collections import Counter
from sklearn.feature_extraction.text import ENGLISH_STOP_WORDS as stopwords

# 定义需要合并的词对(这里可以根据你的需求添加更多)
target_word_pairs = [
    ("customer", "service"),
    ("machine", "learning"),
    ("data", "analysis")
]

top_N = 100
words = review_tip['user_tip'].dropna()
words = words.astype(str)

# 第一步:先替换需要合并的词对为整体(用下划线连接避免拆分)
for pair in target_word_pairs:
    # 构造要替换的短语,比如"customer service" → "customer_service"
    phrase = ' '.join(pair)
    merged_word = '_'.join(pair)
    words = words.str.replace(phrase, merged_word, regex=False)

# 接下来是你原来的预处理流程
words = words.str.replace('[{}]'.format(string.punctuation), '')
words = words.str.lower().apply(lambda x: ' '.join([word for word in x.split() if word not in stopwords]))
# 处理|符号和停用词(这里注意RE_stopwords需要你提前定义,如果是额外的停用词表)
words = words.str.lower().replace([r'\|', RE_stopwords], [' ', ''], regex=True).str.cat(sep=' ').split()

# 生成高频词统计结果
rslt = pd.DataFrame(Counter(words).most_common(top_N), columns=['Word', 'Frequency'])
print(rslt)

关键说明:

  • 替换词对的时候用regex=False是为了避免特殊字符干扰,确保精准匹配短语
  • 用下划线连接合并后的词,是因为后续拆分的时候不会把它拆回两个词,统计时会被当作一个独立的单元
  • 如果有更多需要合并的词对,直接在target_word_pairs列表里添加就行

如果你的需求是自动识别文本中的高频双词搭配(而不是手动指定),那还可以用nltk的工具来自动挖掘,比如:

from nltk.collocations import BigramCollocationFinder
from nltk.metrics import BigramAssocMeasures

# 先把文本处理成单词列表(这里用你预处理后的words列表)
finder = BigramCollocationFinder.from_words(words)
# 过滤掉出现次数太少的搭配
finder.apply_freq_filter(5)
# 计算点互信息,获取Top 20的双词搭配
top_bigrams = finder.nbest(BigramAssocMeasures.pmi, 20)
# 后续可以把这些搭配合并成整体再统计词频,具体实现可以根据需求调整预处理流程

不过手动指定词对的方式更直接可控,适合你已经明确知道要合并哪些短语的场景。

内容的提问来源于stack exchange,提问作者user9415956

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:36:11