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

如何使用POS tagging提升Naive Bayes的推文分类准确率

基于POS标注优化朴素贝叶斯推文分类的实现方案

核心逻辑是将词性信息和文本内容结合构造特征,相比纯词袋特征可以减少歧义、保留语言学信息,提升分类准确率。

1. 特征工程处理POS标注数据

常用两种特征构造思路,可以组合使用:

  • 词+POS组合特征:将(单词, 词性)元组拼接为单词/词性的独立特征,同一个词不同词性会被识别为不同特征,避免语义歧义
  • 筛选高价值词性:过滤标点、语气助词这类无意义词性的内容,只保留名词(NNC/NNP/NNJ)、形容词(JJ)、动词(VP)等有效语义的内容作为特征,降低特征维度减少噪声

如果你的pos_tagged_tweet列读取后是字符串格式(比如"[(හාමුදුරුවරු, NNC), (...)]"),可以先通过import ast,调用ast.literal_eval()方法将字符串转换为Python原生的元组列表格式。

2. 代码实现(基于NLTK库)

首先导入依赖包,构造特征提取函数:

import nltk
import ast
import pandas as pd
from nltk.classify import NaiveBayesClassifier
from nltk.classify.util import accuracy as nltk_accuracy

def extract_features(pos_tagged_list):
    features = {}
    for word, pos in pos_tagged_list:
        # 过滤标点符号类无意义特征
        if pos == "FS":
            continue
        # 构造词+词性的组合特征
        feature_key = f"{word}/{pos}"
        features[feature_key] = True
        # 可额外添加词性分布特征,比如统计各类词性出现次数
        # features[f"pos_count_{pos}"] = features.get(f"pos_count_{pos}", 0) + 1
    return features

接下来构造训练测试数据集:

# 读取数据集(此处假设你的数据存为csv格式,根据实际存储格式调整读取逻辑)
df = pd.read_csv("你的数据集路径.csv")
# 转换pos_tagged_tweet列为元组列表格式
df["pos_tagged_tweet"] = df["pos_tagged_tweet"].apply(ast.literal_eval)

# 构造(特征, 标签)对
feature_sets = []
for _, row in df.iterrows():
    features = extract_features(row["pos_tagged_tweet"])
    feature_sets.append((features, row["Category"]))

# 按8:2比例拆分训练集和测试集
train_size = int(len(feature_sets) * 0.8)
train_set, test_set = feature_sets[:train_size], feature_sets[train_size:]

训练模型并评估效果:

# 训练朴素贝叶斯分类器
classifier = NaiveBayesClassifier.train(train_set)

# 输出测试集准确率
print(f"测试集分类准确率:{nltk_accuracy(classifier, test_set):.2f}")

# 输出Top10最具区分度的特征,验证POS特征的作用
print("最具区分度的Top10特征:")
classifier.show_most_informative_features(10)

优化调整建议

  • 可以对比仅用特定词性(比如仅保留名词、专有名词)作为特征的分类效果,通常健康类推文普通名词占比更高,政治类推文专有名词占比更高,针对性筛选可以进一步提升准确率
  • 可以将POS特征和原来的纯词袋特征组合使用,对比准确率变化,选择最优的特征组合
  • 如果出现过拟合问题,可以增加特征过滤步骤,仅保留在全数据集中出现次数大于N次的特征

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:39:02