NLP 基础:文本预处理/词向量/文本分类

NLP 基础:文本预处理/词向量/文本分类

1. 文本预处理

python 复制代码
import re
import jieba

# 中文分词
text = "机器学习是人工智能的一个分支"
words = jieba.lcut(text)
print(words)

# 去停用词
stopwords = set(open('stopwords.txt').read().split())
words = [w for w in words if w not in stopwords]

# 文本清洗
def clean_text(text):
    text = re.sub(r'[^\w\s]', '', text)  # 去标点
    text = re.sub(r'\d+', '', text)       # 去数字
    text = text.strip().lower()
    return text

2. 文本向量化

python 复制代码
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer

# 词袋模型
bow = CountVectorizer(max_features=5000)
X_bow = bow.fit_transform(texts)

# TF-IDF
tfidf = TfidfVectorizer(max_features=5000, ngram_range=(1, 2))
X_tfidf = tfidf.fit_transform(texts)

# Word2Vec
from gensim.models import Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1)
vector = model.wv['机器学习']

3. 文本分类

python 复制代码
from sklearn.naive_bayes import MultinomialNB
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC

# TF-IDF + 朴素贝叶斯
tfidf = TfidfVectorizer(max_features=5000)
X_train_tfidf = tfidf.fit_transform(X_train_text)
X_test_tfidf = tfidf.transform(X_test_text)

nb = MultinomialNB()
nb.fit(X_train_tfidf, y_train)

# TF-IDF + 逻辑回归
lr = LogisticRegression(max_iter=1000)
lr.fit(X_train_tfidf, y_train)

总结

方法 适用场景 优势
TF-IDF + NB 短文本分类 快速简单
TF-IDF + LR 通用分类 精度较高
Word2Vec 语义相似度 捕捉语义
相关推荐
MobotStone1 小时前
AI 玩不好?别怪工具,是你给它定的规矩有问题!
人工智能
AI日报派送佬6 小时前
2026年10月14日AI行业日报|Gemini 4 Argon正式发布;小模型跨设备传播风险引发安全热议
网络·人工智能·openai·谷歌·deepseek·anthropic·ai日报
镜象科技7 小时前
职业院校AI心理健康解决方案怎么选?三个特殊场景与三类路线
人工智能
Leo.yuan7 小时前
企业Data Agent架构选型:帆软Dora基于NL2BI的现有BI体系复用方案
大数据·人工智能
朱涛的自习室7 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
米小虾7 小时前
上下文:Agent 的眼睛里到底装着什么
人工智能·agent
米小虾7 小时前
Agent = 大脑 + 眼睛 + 手脚:一篇看懂现代 AI Agent 的骨架
人工智能
小小测试开发8 小时前
安全评测得分 0.9556 掉到 0.3257,只改了 top_k 和 prompt_style 之外的题面比例
人工智能·安全·prompt
slacker-kian8 小时前
[实践]-用LLM对文本结构化:把多段文本描述变成规范的 JSON 知识库
人工智能·llm·prompt·结构化·pydantic·one-shot 提示