自然语言处理历史史诗:NLP的范式演变与Python全实现
import numpy as np
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
# 示例诗歌数据
lyrics = ["春眠不觉晓", "处处闻啼鸟", "夜来风雨声", "花落知多少"]
# 将诗歌转换为词频向量
vectorizer = TfidfVectorizer()
lyrics_vector = vectorizer.fit_transform(lyrics)
# 使用KMeans对诗歌进行聚类
kmeans = KMeans(n_clusters=2) # 假设我们只对诗歌进行两个类别的聚类
kmeans.fit(lyrics_vector)
# 输出每个诗歌的类别
cluster_labels = kmeans.labels_
centroids = kmeans.cluster_centers_
for idx, lyr in enumerate(lyrics):
print(f"诗歌: {lyr}, 类别: {cluster_labels[idx]}")
# 输出每个类别的中心词
for idx, centroid in enumerate(centroids):
print(f"类别 {idx} 中心词: {vectorizer.inverse_transform([centroid])[0]}")
这段代码展示了如何使用TF-IDF向量化和KMeans算法对诗歌数据进行聚类,并输出每一个诗歌的类别以及每个类别的中心词。这是自然语言处理中一个常见的文本聚类应用,对于理解NLP发展过程中的算法演变有重要的教育意义。
评论已关闭