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 语义相似度 捕捉语义
相关推荐
fthux4 小时前
装闭 RenoPit 源码解析(09):AnalysisEngine装修闭坑分析主流程
人工智能·ai·开源·github·open source·renopit
敏编程4 小时前
开源项目 NextBand:探索融合健康传感、语音交互与 AI Agent 的下一代可穿戴设备
人工智能
ovO4 小时前
我按下“发送”之后:DeepSeek Harness 如何把一次请求变成 1,177 个增量片段
人工智能·开源·deepseek
昨日之日20064 小时前
LTX-2.5:更清晰、更可控、同步音画、多镜头连贯的AI视频神器
人工智能·音视频
九硕智慧建筑一体化厂家5 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
江厌015 小时前
本地部署DeepSeek显卡怎么选?我把显存计算公式和实测记录写下来了
人工智能·百度·联想工作站·代理商推荐·渠道对比·工作站
小席是个热心肠5 小时前
AI相关的自我学习
java·人工智能·学习
FII工业富联科技服务5 小时前
工业AI自治的演进趋势:从内容生成到Agent驱动的工厂运营范式转变
人工智能
云和数据.ChenGuang5 小时前
fastapi的参数剖析
人工智能·深度学习·机器学习·语言模型·状态模式·fastapi
日常筹谋记5 小时前
技术研究:数据中心HVDC系统直流保护配合与ABB电气产品参数解析
人工智能·创业创新·业界资讯