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 语义相似度 捕捉语义
相关推荐
一条大祥脚1 小时前
TVM 的前世今生:从深度学习编译器到 AI 基础设施
人工智能·深度学习·tvm
冬奇Lab1 小时前
一天一个开源项目(第255篇):Mika —— 装在安卓手机里的 AI 代理,在后台虚拟屏上替你操作 App 和网页
人工智能·开源·资讯
孟健3 小时前
实测 agent-desktop:AI 控制桌面不截图、不占鼠标键盘,连点 55 次计算器 0 失误
人工智能·架构·开源
MUSHANGXS3 小时前
大模型时代的新蓝海-基于OS底层的AI-Agent应用
人工智能·职场和发展·交互
伞伞悦读3 小时前
【第76期】两张3行表左连接变5行:主键、validate与未匹配排查完整教程
人工智能·python
IT_陈寒4 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
阿里云大数据AI技术4 小时前
云栖实录 | AgenticSearch 定义 AI 搜索时代的信息检索 - 新范式
人工智能
AI源码5 小时前
基于深度学习的音乐风格分类系统
人工智能·深度学习
慢慢来不要急5 小时前
GitHub Copilot Fusion 智能路由模型 · 11-02
人工智能·开发工具
CServer_015 小时前
源码交付!有色金属工厂的AI数据底座
人工智能·物联网·制造