2026/4/6 7:59:32
网站建设
项目流程
企业营销型网站有哪些,wordpress留言板代码,赚钱软件一天赚100元游戏,上海建站外贸夫人工智能之兴#xff0c;浩浩汤汤#xff1b;机器学习之用#xff0c;郁郁苍苍。欲教机器识文断字#xff0c;必先化锦绣文章为数字矩阵#xff0c;此特征提取之要义也。 诸多法门中#xff0c;** 词袋模型**#xff08;Bag-of-Words, BoW#xff09;以其简而不陋浩浩汤汤机器学习之用郁郁苍苍。欲教机器识文断字必先化锦绣文章为数字矩阵此特征提取之要义也。诸多法门中** 词袋模型**Bag-of-Words, BoW以其简而不陋朴而有效之特性屹立为自然语言处理之基石宛若庖丁解牛去其筋骨存其精肉终得文本之数字魂魄。文海撷英数林建模词袋模型之奥义与中文处理实践一、 模型精要词袋之思大道至简二、 利器在手Sklearn 实践庖丁解牛三、 中文之道分词为舟去芜存菁四、 应用之广案例点睛见微知著五、 总结一、 模型精要词袋之思大道至简词袋模型**其名质朴其意深远。其视文档若布袋**但问袋中有何词汇**、** 几何频数**全然不顾词序之先后、语法之结构。此乃“** 袋**”字之真谛——混沌之中秩序自显。其运作之流程可概括为三步如下图所示原始文档集合文本预处理分词、清洗、归一化构建词汇表所有唯一词的集合向量化表示统计各文档词频形成矩阵特征矩阵行文档列词值频数表一词袋模型化文为表示例文档原始文本词汇表排序后词袋向量频数文档1“机器学习 引领 变革”[变革, 引领, 学习, 机器][1, 1, 1, 1]文档2“深度 学习 驱动 机器 智能”[变革, 驱动, 深度, 引领, 智能, 学习, 机器][0, 1, 1, 0, 1, 1, 1]观上表可知两文档经处理得一共通词汇表凡七词。文档一之向量于“变革”、“引领”、“学习”、“机器”四处为1余者为0文档二之向量则另有“驱动”、“深度”、“智能”之特征。至此** 文意之异同尽藏于此0与1、数与数之间矣** 然此仅为最简之二值表示**Binary更为常用者乃词频**Term Frequency或TF-IDF加权后者能抑高频通用词之焰扬关键特征词之光使模型之眼更为雪亮【1†source】。二、 利器在手Sklearn 实践庖丁解牛理论既明当付诸实践。Python 之scikit-learn库为此提供利刃CountVectorizer与TfidfVectorizer开箱即用事半功倍。# -*- coding: utf-8 -*-fromsklearn.feature_extraction.textimportCountVectorizer,TfidfVectorizer# 示例文档集英文corpus[Machine learning is fascinating and powerful.,Deep learning drives modern AI forward.,Machine and deep learning are both subfields of AI.]# 1. 构建词袋词频bow_vectorizerCountVectorizer()bow_matrixbow_vectorizer.fit_transform(corpus)print(Vocabulary:,bow_vectorizer.get_feature_names_out())print(Bag-of-Words Matrix (Frequency):\n,bow_matrix.toarray())# 2. 构建TF-IDF加权词袋tfidf_vectorizerTfidfVectorizer()tfidf_matrixtfidf_vectorizer.fit_transform(corpus)print(\nTF-IDF Matrix:\n,tfidf_matrix.toarray())关键性能之眼**fit_transform者一举两得既学fit得语料库之全部词汇以成词典又变transform文档为矩阵。所得矩阵乃稀疏矩阵**Sparse Matrix高效存储海量词汇中之零星非零值此乃工程智慧之体现也三、 中文之道分词为舟去芜存菁前述乃西文之道空格为界词自分明。然中文博大字字相连** 分词**Tokenization乃处理中文之第一要务**无此则词袋无从谈起。此外文中多有“的”、“了”、“是”等停用词**Stop Words于表意无大功于计算增冗余当滤除之。中文处理全流程如下图所示**原始中文文本Jieba分词清洗与过滤去停用词、标点Sklearn向量化中文特征矩阵实践代码融会贯通**importjiebafromsklearn.feature_extraction.textimportTfidfVectorizer# 1. 中文分词函数defchinese_cut(text):# 精确模式分词并用空格连接以符合sklearn输入格式return .join(jieba.lcut(text))# 示例中文文档chinese_corpus[机器学习是人工智能的核心领域。,深度学习通过神经网络模型取得巨大成功。,自然语言处理让机器理解人类语言。]# 2. 应用分词cut_corpus[chinese_cut(doc)fordocinchinese_corpus]print(分词结果:,cut_corpus)# 3. 定义并扩展中文停用词表base_stopwords[的,了,是,在,和,让]# 可扩展# 通常可从文件加载更全面的停用词表# 4. 使用TF-IDF并传入停用词表chinese_vectorizerTfidfVectorizer(stop_wordsbase_stopwords)chinese_matrixchinese_vectorizer.fit_transform(cut_corpus)print(\n中文词汇表:,chinese_vectorizer.get_feature_names_out())print(\n中文TF-IDF矩阵:\n,chinese_matrix.toarray())点睛之笔**jieba.lcut()完成分词重任自定义stop_words列表予TfidfVectorizer则模型自动滤除这些“虚词”使特征空间更为凝练专注于“机器学习”、“神经网络”、“自然语言”等实意之词。四、 应用之广案例点睛见微知著词袋模型虽“古”然其力未衰于诸多场景仍堪大任文本分类**新闻分类、垃圾邮件过滤。将邮件转化为词袋向量即可训练分类器判其良莠。情感分析**评论文本析其褒贬。如“佳”、“美”、“赞”等词频高则向量自带积极色彩。文档检索**搜索引擎之雏形。查询语句亦转为向量与文档库中向量计算相似度如余弦相似度即可得相关结果。譬若**欲分析电商产品评论之情感。可收集“好评”与“差评”各千条经中文分词、去停用词后转化为TF-IDF向量。以此训练一逻辑回归或朴素贝叶斯模型。新评论文本至同法处理模型即可据其词袋特征断其情感倾向准确率往往可达八九成。此乃词袋模型结合简单分类器解决实际问题之明证也五、 总结总而言之**词袋模型** 舍形而得意弃序而存真**为文本数据入算法之门开辟通途。借助sklearn之强大结合中文分词利器Jieba与停用词过滤即可构建处理中文文本之有效管道。虽其无法理解上下文与语义关联之深层奥秘然在文档表示、分类聚类、情感初判等诸多领域仍是一把可靠、高效、易掌控的利器。正所谓“文山词海浩无涯袋纳乾坤自有法。数阵初成涵意蕴轻舟已过万重峡。”**注本文中关于词袋模型基本概念与TF-IDF的解释参考了通用技术原理【1†source】。