基于TF的词向量矩阵
import jieba
from sklearn.feature_extraction.text import CountVectorizer
import jieba
import pandas as pd
# 示例文档集
documents = [
"这是第一个文档。",
"这个文档是第二个文档。",
"这是第三个文档吗?",
"第一个文档和第二个文档都很棒!"
]
sentences_token=[' '.join(jieba.lcut(sentence)) for sentence in documents]
#CountVectorizer输入格式为['这是 第一个 文档 。', '这个 文档 是 第二个 文档 。', '这是 第三个 文档 吗 ?', '第一个 文档 和 第二个 文档 都 很棒 !']
vectorizer = CountVectorizer(token_pattern=r"(?u)\b\w+\b")#正则表达式去除标点符号
X = vectorizer.fit_transform(sentences_token)
pd.DataFrame(X.toarray(),columns=vectorizer.get_feature_names_out()).to_csv('data.csv',index=False)
基于tfidf的词向量矩阵
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
import jieba
import pandas as pd
# 示例文档集
documents = [
"这是第一个文档。",
"这个文档是第二个文档。",
"这是第三个文档吗?",
"第一个文档和第二个文档都很棒!"
]
sentences_token=[' '.join(jieba.lcut(sentence)) for sentence in documents]
vectorizer = TfidfVectorizer(token_pattern=r"(?u)\b\w+\b")
X = vectorizer.fit_transform(sentences_token)
pd.DataFrame(X.toarray(),columns=vectorizer.get_feature_names_out()).to_csv('data.csv',index=False,encoding='gbk')