这个错误是因为NLTK库中没有CountVectorizer这个类。CountVectorizer是sklearn库中的一个类,用于将文本转换为向量。需要将代码中的nltk改为sklearn即可解决问题。修改后的代码如下:

import nltk import numpy as np from sklearn.cluster import KMeans from sklearn.metrics.pairwise import cosine_similarity from sklearn.feature_extraction.text import CountVectorizer

自定义文本输入

text = """今天天气真好,阳光明媚,大家都很开心。我想去公园散步,欣赏美景。"""

分句

sentences = nltk.sent_tokenize(text)

初始化向量化模型

vectorizer = CountVectorizer(stop_words='english')

将句子转换为向量

X = vectorizer.fit_transform(sentences)

计算余弦相似度矩阵

similarity_matrix = cosine_similarity(X)

使用KMeans聚类算法进行聚类

num_clusters = int(np.ceil(len(sentences)**0.5)) kmeans = KMeans(n_clusters=num_clusters) kmeans.fit(X)

获取每个簇的中心向量

cluster_centers = kmeans.cluster_centers_

找到最接近中心向量的句子作为摘要

summary = '' for i in range(num_clusters): cluster = np.where(kmeans.labels_ == i)[0] cluster_similarity = cosine_similarity(X[cluster], cluster_centers[i].reshape(1, -1)) cluster_summary = sentences[cluster[np.argmax(cluster_similarity)]] summary += cluster_summary + ' '

输出摘要结果

print(summary

import nltkimport numpy as npfrom sklearncluster import KMeansfrom sklearnmetricspairwise import cosine_similarity# 自定义文本输入text = 今天天气真好阳光明媚大家都很开心。我想去公园散步欣赏美景。# 分句sentences = nltksent_tokenizetext# 初始

原文地址: https://www.cveoy.top/t/topic/hcbf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录