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

(done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW

一个视频:https://www.bilibili.com/video/BV1mb4y1y7EB/?spm_id_from=333.337.search-card.all.click&vd_source=7a1a0bc74158c6993c7355c5490fc600

这里有个视频,讲解得更加生动形象一些

总得来说,词袋模型(Bow, bag-of-words) 是最简单的 “文本 —> 矢量”(把文本转为矢量) 模型

二元分类和多元分类的两个例子放在末尾


以下是 Claude3 的解释,我们慢慢看


The bag-of-words model is a simplifying representation used in natural language processing (NLP). In this representation, a text (such as a sentence or a document) is represented as an unordered collection of words, disregarding grammar and word order.

bag-of-words 模型是 NLP领域 里的一个简化表示方法。在这种表示方法里,一个文本(比如一个句子或者是一个文档) 会被表示成一个乱序的单词集合,无视里面的语法和单词顺序。


Here’s how it works:

  1. A vocabulary of known words is created from the corpus of texts.
  2. Each text is represented as a vector, with one dimension for each word in the vocabulary.
  3. If a word appears in the text, its value in the vector is non-zero (typically 1 or a number representing frequency); otherwise, it is zero.

For example, if the vocabulary is [“hello”, “goodbye”, “computer”], then the sentence “hello hello computer” would be represented by the vector [2, 0, 1].

如下,是 bag-of-words 的工作方法:

  1. 一堆已知单词的词汇表是从语料库里创建出来的
  2. 每一个文本都可以使用一个向量表示,词汇表中的每一个单词都可以使用一个一维向量来表示
  3. 如果一个单词在文本中出现,它在矢量中的值是 non-zero,否则就是 0。

举个例子,如果词汇表是 [“hello”, “goodbye”, “computer”],那么这句 “hello hello computer” 就可以用矢量 [2, 0, 1] 表示


The advantages of this model are its simplicity and the fact that it allows for straightforward application of techniques from fields like machine learning and information retrieval.

However, the bag-of-words model has several shortcomings:

  1. It disregards word order and grammar, which can be very important in natural language.
  2. It assumes that all words are equally important, ignoring semantics.
  3. For large vocabularies, the resulting vector can be very high-dimensional and sparse.

Despite these limitations, the bag-of-words model can serve as a baseline for more advanced NLP techniques and may still have some uses in simple applications.

这个模型的优点是:很简单,并且它允许直接应用来自机器学习和信息检索等领域的技术。

然而,bag-of-words 模型也有几个缺点:

  1. 它忽略了单词的顺序和语法结构,而这在自然语言中是非常重要的。 (单词向量无法展示单词顺序和语法结构)
  2. 它假设所有单词同等重要,忽视了词义语义信息。 (假设所有单词同等重要)
  3. 对于大型词汇表,生成的向量往往是非常高维且稀疏的。 (大型词汇表中,向量高维且稀疏)

尽管有这些限制,bag-of-words 模型仍然可以作为一些先进的 NLP技术的 baseline,并且在一些简单的应用中都是有用例的


In modern NLP systems, more advanced techniques like word embeddings (e.g., Word2Vec, GloVe, BERT) are commonly used to capture richer semantic and syntactic information.

在现代NLP系统中,通常采用更先进的技术,如词嵌入(例如Word2Vec、GloVe、BERT)来捕获更丰富的语义和语法信息。


二元分类和多元分类的两个例子放在末尾

二元分类:
在这里插入图片描述

多元分类:
在这里插入图片描述

相关文章:

  • 【EBS】【资产】折旧规则(帐簿)
  • Luckysheet + Exceljs:H5实现Excel在线编辑、导入、导出及上传服务器的示例代码(完整版demo)
  • 【算法训练营】最近点对,纸牌,青蛙(Python实现)
  • 【Stable Diffusion】入门-04:不同模型分类+代表作品+常用下载网站+使用技巧
  • Maven 之 配置文件pom
  • stm32f103c8t6学习笔记(学习B站up江科大自化协)-USART串口-软件部分
  • IBM DataStage服务的启动和停止
  • k8s编排系统
  • SQLiteC/C++接口详细介绍之sqlite3类(十三)
  • 用云服务器构建gpt和stable-diffusion大模型
  • 3D Occupancy 预测冠军方案:FB-OCC
  • Oracle SQL优化基本概念:直方图
  • 计算机网络——物理层(数据交换方式)
  • Task-balanced distillation for object detection用于
  • 编译原理-实现识别标识符的词法分析器——沐雨先生
  • .pyc 想到的一些问题
  • 【RocksDB】TransactionDB源码分析
  • Angular Elements 及其运作原理
  • SQLServer之创建显式事务
  • Vue组件定义
  • 成为一名优秀的Developer的书单
  • 创建一种深思熟虑的文化
  • 飞驰在Mesos的涡轮引擎上
  • 简单实现一个textarea自适应高度
  • 前端
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 协程
  • 移动端唤起键盘时取消position:fixed定位
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #etcd#安装时出错
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (1)(1.13) SiK无线电高级配置(六)
  • (floyd+补集) poj 3275
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (四)鸿鹄云架构一服务注册中心
  • (一)基于IDEA的JAVA基础10
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net Signalr 使用笔记
  • .net Stream篇(六)
  • .NET 读取 JSON格式的数据
  • .NET关于 跳过SSL中遇到的问题
  • .net流程开发平台的一些难点(1)
  • .NET命名规范和开发约定
  • .NET文档生成工具ADB使用图文教程
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @hook扩展分析
  • [Android Studio] 开发Java 程序
  • [Asp.net mvc]国际化
  • [C#7] 1.Tuples(元组)