当前位置: 首页 > wzjs >正文

网站建设合同的注意事项宿州百度seo排名软件

网站建设合同的注意事项,宿州百度seo排名软件,做网站外包多少钱,镇江做网站的目标 了解词袋模型(BoW)和 TF-IDF 的概念通过实际示例展示 BoW 和 TF-IDF 如何将文本转换为数值表示详细讲解 Scikit-learn 的实现方法通过代码示例加深理解归纳学习难点,并提供课后练习和讲解 3.1 词袋模型(Bag of Words, BoW&a…
目标
  • 了解词袋模型(BoW)和 TF-IDF 的概念
  • 通过实际示例展示 BoW 和 TF-IDF 如何将文本转换为数值表示
  • 详细讲解 Scikit-learn 的实现方法
  • 通过代码示例加深理解
  • 归纳学习难点,并提供课后练习和讲解

3.1 词袋模型(Bag of Words, BoW)

1. 什么是词袋模型?

词袋模型(BoW)是一种最简单的文本表示方法,它的核心思想是:

  • 将一篇文章表示为一个词的集合
  • 忽略词的顺序,仅统计每个词的出现次数
  • 转换成一个数值向量,方便计算机处理

让我们用一个直观的例子来理解:

示例:文本数据

假设有两条文本:

文本1: "猫 喜欢 喝 牛奶"
文本2: "狗 也 喜欢 喝 牛奶"

如果我们要分析这些文本,需要将它们转换为计算机可处理的格式。

构建词表(Vocabulary)

首先,我们从所有文本中提取唯一的词,构建一个词表:

词表 = ["猫", "喜欢", "喝", "牛奶", "狗", "也"]
转换成数值表示

对于每条文本,我们用向量表示每个词出现的次数:

文本1: [1, 1, 1, 1, 0, 0]  # "猫"、"喜欢"、"喝"、"牛奶" 各出现 1 次
文本2: [0, 1, 1, 1, 1, 1]  # "狗"、"也"、"喜欢"、"喝"、"牛奶" 各出现 1 次

这样,我们就把文本转换成了一个数值矩阵,每行对应一个文本,每列对应一个单词的词频。


2. BoW 代码示例

我们使用 Scikit-learnCountVectorizer 来实现 BoW:

from sklearn.feature_extraction.text import CountVectorizer# 1. 定义文本数据
texts = ["猫 喜欢 喝 牛奶", "狗 也 喜欢 喝 牛奶"]# 2. 创建 CountVectorizer 对象,确保单字符词也被保留
vectorizer = CountVectorizer(token_pattern=r"(?u)\b\w+\b", stop_words=None)# 3. 训练 BoW 模型并转换文本
bow_matrix = vectorizer.fit_transform(texts)# 4. 输出词表
print("词表:", vectorizer.get_feature_names_out())# 5. 输出转换后的 BoW 矩阵
print("BoW 矩阵:\n", bow_matrix.toarray())

运行结果

词表: ['也' '喜欢' '喝' '牛奶' '狗' '猫']
BoW 矩阵:
[[0 1 1 1 0 1][1 1 1 1 1 0]]
  • 词表是按字母顺序排列的
  • 0 表示该单词未出现在这篇文章中
  • 1 表示该单词在文章中出现了一次

3.2 TF-IDF(词频-逆文档频率)

1. 为什么需要 TF-IDF?

BoW 只计算了单词的出现次数,但有个问题:

  • 高频词的影响:在中文里,“的”、“是”、“在” 这样的词出现次数很高,但它们对文本的意义贡献很小。
  • 重要但不常见的词被忽略:像 “人工智能” 这样的词可能只在部分文本中出现,但它们的信息量很大。

TF-IDF(词频-逆文档频率) 通过两部分来调整词的重要性:

  • TF(词频,Term Frequency):衡量某个词在文章中出现的频率。
    在这里插入图片描述

  • IDF(逆文档频率,Inverse Document Frequency):衡量某个词在所有文档中的重要性。
    [
IDF = \log(\frac{\text{总文档数}}{\text{包含该词的文档数} + 1})
]

    • 例如,“的” 在所有文本中都出现,IDF 低
    • “人工智能” 只在一部分文章出现,IDF 高

最终:
在这里插入图片描述

它的作用是:

  • 常见但无意义的词(如 “的”、“是”)权重降低
  • 罕见但重要的词(如 “人工智能”)权重提高

2. TF-IDF 代码示例

我们使用 Scikit-learnTfidfVectorizer 进行 TF-IDF 计算。

from sklearn.feature_extraction.text import TfidfVectorizer# 1. 定义文本数据
texts = ["猫 喜欢 喝 牛奶", "狗 也 喜欢 喝 牛奶"]# 2. 创建 TF-IDF Vectorizer 对象,确保单字符词也被保留
tfidf_vectorizer = TfidfVectorizer(token_pattern=r"(?u)\b\w+\b", stop_words=None)# 3. 训练 TF-IDF 并转换文本
tfidf_matrix = tfidf_vectorizer.fit_transform(texts)# 4. 输出词表
print("词表:", tfidf_vectorizer.get_feature_names_out())# 5. 输出 TF-IDF 矩阵
print("TF-IDF 矩阵:\n", tfidf_matrix.toarray())

运行结果(示例)

词表: ['也' '喜欢' '喝' '牛奶' '狗' '猫']
TF-IDF 矩阵:
[[0.     0.5    0.5    0.5    0.     0.707][0.707  0.5    0.5    0.5    0.707  0.    ]]

3. 观察结果

  • “喜欢”、“喝”、“牛奶” 这些词在两篇文章中都出现,所以权重较低
  • “猫” 只在第一篇文章中出现,所以权重较高
  • “狗” 只在第二篇文章中出现,所以权重较高

3.3 难点总结

难点理解方式
BoW 忽略词序记住:BoW 只统计词频,而不考虑单词顺序
TF-IDF 计算复杂只需记住:TF 代表词频,IDF 代表重要性(少见但重要的词权重高)
向量化后数据文本转化为数字矩阵,方便机器学习使用

3.4 课后练习

1. 理解 BoW

练习:
请修改以下代码,增加一个新文本,并观察 BoW 变化:

texts = ["猫 喜欢 喝 牛奶", "狗 也 喜欢 喝 牛奶", "机器学习 是 人工智能 的 一部分"]
  • 你观察到哪些新单词?
  • 词表是否有变化?

2. 理解 TF-IDF

练习:
请修改以下代码,增加一个新文本,并观察 TF-IDF 变化:

texts = ["机器学习 很 有趣", "机器学习 使 生活 更 智能"]
  • 哪些词的权重较高?
  • 频繁出现的词的权重是否下降了?

总结

  • BoW 适用于简单 NLP 任务,但容易丢失语义信息
  • TF-IDF 解决了高频词影响,但仍无法完全理解上下文
  • 下一步学习:深度学习模型(如 Word2Vec、BERT)如何更好地理解文本语义
http://www.dtcms.com/wzjs/318495.html

相关文章:

  • 想自己建一个公司网站怎么做品牌建设
  • 有哪些建设网站的互联网广告行业
  • 动漫制作专业简历东莞网站关键词优化公司
  • 手机网站淘宝客营销型网站的特点
  • 交易网站模板网络推广公司方案
  • 沙漠风网站建设怎么样steam交易链接是什么
  • 网站后台登录密码修改新媒体营销推广方案
  • 怎么做网站时时彩同城引流用什么软件
  • 桂林市住房和城乡建设委员会网站怎么做电商卖东西
  • 房地产网站模板 下载谷歌广告推广怎么做
  • 少数民族网站建设百度推广天天打骚扰电话
  • 玉树营销网站建设多少钱一站式营销平台
  • 河间做网站的公司关键词优化 搜索引擎
  • 资料查询网站建设发布软文的平台
  • 北京网站建设服务关键词推广怎么做
  • 佛山微网站建设多少钱郑州官网网站推广优化
  • wordpress登录美化css杭州seo推广公司
  • 网站百度推广和优化电商平台建设方案
  • 做b2b2c模板网站百度高级搜索引擎入口
  • 网站开发去哪学互联网搜索引擎有哪些
  • 学校网站建设汇报推广哪些app最挣钱
  • 数据可视化网站模板汽油价格最新调整最新消息
  • 个人网站模板儿童google搜索入口
  • 怎让做淘宝网站相城seo网站优化软件
  • 企业网站做百度小程序靠谱的拉新平台
  • 重庆 网站 建设企业qq官网
  • 做电商在什么网站长春网站建设方案优化
  • 贵州做团队培训的网站深圳网站建设公司官网
  • 阿里巴巴网站是用什么技术做的seo关键词查询
  • wordpress 媒体库目录台州seo排名公司