自然语言处理分词聚类代码
时间: 2023-11-12 08:04:54 浏览: 108
Android代码-Java 实现的自然语言处理中文分词
这是一个简单的中文文本分词和聚类的代码示例,使用了jieba和sklearn库。
```python
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
# 读取文本数据
with open('data.txt', 'r', encoding='utf-8') as f:
data = f.read()
# 分词
words = jieba.cut(data)
# 去除停用词
stop_words = [line.strip() for line in open('stopwords.txt', 'r', encoding='utf-8').readlines()]
filtered_words = [word for word in words if word not in stop_words]
# 转化为文本
corpus = " ".join(filtered_words)
# 提取特征
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform([corpus])
# 聚类
kmeans = KMeans(n_clusters=5)
kmeans.fit(X)
# 输出每个文本所属类别
labels = kmeans.labels_
for i, label in enumerate(labels):
print("第%d个文本的类别是:%d" % (i+1, label))
```
其中,`data.txt` 是需要处理的文本数据,`stopwords.txt` 是中文停用词表,`n_clusters` 是需要聚类的数量。
阅读全文