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

网站建设合同的注意事项重庆排名seo公司

网站建设合同的注意事项,重庆排名seo公司,pc端手机网站 viewport 自适应,可以打开的wap网站目标 了解词袋模型(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/243831.html

相关文章:

  • 互联网营销和传统营销的区别seo排名点击软件运营
  • 亿网行网站建设aso优化报价
  • seo黑帽2022百度seo竞价推广是什么
  • 重庆网站建设重庆网站建设公司网站建设网络推广电话销售技巧和话术
  • 伪静态 网站seo推广主要做什么的
  • 网站建设如何盈利福州seo排名公司
  • 盗版小说网站怎么做谷歌浏览器下载手机版官网中文
  • 黄骅疫情最新消息逆冬seo
  • 成都市专业制作网站新航道培训机构怎么样
  • 怎样做网站兼职关键词英文
  • 南京手机网站制作微信平台推广方法
  • 兰州网站外包厦门谷歌推广
  • php网站开发常用的插件seo怎么做?
  • 遵义公司网站制作哪家好百度最新秒收录方法2023
  • dreamweaver怎么做网站百度推广登陆平台登录
  • 李沧做网站web免费网站
  • 同样也是做严选的网站武汉网站快速排名提升
  • 已经有网站域名如何做网页怎么找需要推广的商家
  • blogengine wordpress兰州seo整站优化服务商
  • 陕西做天然气公司网站seo去哪里学
  • 设计师用什么软件搜索引擎优化方法有哪几种
  • 2013电子商务网站建设考试试卷百度推广平台
  • 建设网站网址是多少北大青鸟软件开发培训学费多少
  • 西安b2c网站建设域名注册网站查询
  • 网站升级中百度贴吧官网入口
  • 全国企业公示网查询官网网站为什么要seo?
  • 上海网站seo设计郑州网站顾问热狗网
  • 洞口做网站找谁企业专业搜索引擎优化
  • 专业律所网站建设关键词工具有哪些
  • 2023年免费b站推广大全培训班学员培训心得