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 语义相似度 捕捉语义
相关推荐
T型码农要学习30 分钟前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
智恒百亿1 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
ai小陈3 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
测试者家园5 小时前
为什么意图驱动测试是自动化测试的下一站,而不是替代品
自动化测试·软件测试·人工智能·持续测试·ai赋能·智能化测试·软件测试变革
D202020206 小时前
TikTok Shop禁止AI语音直播落地后,跨境卖家如何通过达秘合规调整带货内容
人工智能
像风一样自由20206 小时前
20.Milvus常见问题检索不到维度错误和数据一致性
人工智能·大模型·milvus
现代野蛮人6 小时前
【深度学习实验】—— 基于 LSTM 与 Optuna 调参的丙型肝炎预测
人工智能·深度学习·lstm
支支დ6 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
ZGIAI6 小时前
ZGI 让那些"等你去处理"的事,真正跑起来
人工智能·架构
ZGIAI7 小时前
ZGI:别再做Agent Demo了,先问问它在业务里能不能撑过下周三
人工智能·架构