上传文件至 /
This commit is contained in:
36
ljh.py
Normal file
36
ljh.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from sklearn.feature_extraction.text import CountVectorizer
|
||||
|
||||
|
||||
docs = [
|
||||
"Python 是 编程 语言",
|
||||
"Java 是 编程 语言",
|
||||
"Python Python Python"
|
||||
]
|
||||
|
||||
|
||||
vectorizer = CountVectorizer()
|
||||
X = vectorizer.fit_transform(docs)
|
||||
|
||||
|
||||
print("词表(Vocabulary):")
|
||||
print(vectorizer.get_feature_names_out())
|
||||
|
||||
|
||||
print("\n每个文档的BoW向量:")
|
||||
for i, doc_vec in enumerate(X.toarray()):
|
||||
print(f"Doc{i+1}: {doc_vec}")
|
||||
|
||||
|
||||
# 6.BoW模型的缺点及场景问题:
|
||||
# 1. 忽略词序与上下文语义
|
||||
# - 问题:BoW仅统计词频,不考虑词语顺序,
|
||||
# 例如"我喜欢Python"和"Python喜欢我"的BoW向量完全相同,但语义相反,
|
||||
# 在情感分析、语义理解任务中会导致错误。
|
||||
#
|
||||
# 2. 无法处理一词多义/多词一义
|
||||
# - 问题:BoW将每个词视为独立符号,无法识别"苹果"(水果/公司)的不同含义,
|
||||
# 也无法识别"电脑"和"计算机"的同义关系,在语义检索、文本分类中会降低精度。
|
||||
#
|
||||
# 3. 向量稀疏且维度爆炸
|
||||
# - 问题:当语料库词汇量很大时,向量维度会极高,且大部分元素为0,
|
||||
# 增加计算开销,在大规模文本处理中效率低下。
|
||||
Reference in New Issue
Block a user