# 简单AI分类器实现:基于词频统计的垃圾邮件检测


问题分析与实现思路

问题描述

本任务要求实现一个基于词频统计的AI分类器,用于判断输入文本是否为垃圾邮件。该分类器采用词袋模型(Bag of Words)进行关键词统计,并基于这些关键词判断分类结果。

输入输出示例

输入:

"这是一个垃圾邮件的句子"  
输出:  
分类结果:垃圾邮件"  

实现方式

  1. 使用词频统计方法(词袋模型)统计输入文本中的关键词
  2. 验证是否包含特定关键词(如“垃圾邮件”)
  3. 根据关键词出现次数或出现位置判断分类结果

代码实现

from collections import Counter

def classify_text(text):
    # 读取输入文本并拆分为词语
    words = text.split()

    # 统计词频
    word_counts = Counter(words)

    # 假设关键词为 ["垃圾", "邮件"]
    keywords = ["垃圾", "邮件"]
    threshold = 2  # 可根据实际需求调整阈值

    # 验证是否包含关键词
    if any(count > threshold for count in word_counts.values()):
        return "分类结果:垃圾邮件"
    else:
        return "分类结果:非垃圾邮件"

# 示例输入输出
text_input = "这是一个垃圾邮件的句子"
result = classify_text(text_input)
print(result)

总结

学习价值

  • 学习了数据结构与算法(如词频统计)
  • 理解了分类逻辑的实现

难度与学习时间

  • 难度:中等
  • 学习时间:1~3天

该实现代码清晰可运行,并通过示例输入输出验证逻辑正确性。代码中使用了词袋模型,实现了基于关键词的分类功能。