20240331-2-文本表征方式

news2024/11/15 21:46:02

静态语义表示方法

在这里插入图片描述

知识体系

主要包括词袋模型 BoW、TFIDF、LDA、Word2vec、Golve、Doc2Vec 等。

Questions

在小数据集中 Skip-Gram 和 CBoW 哪种表现更好?

Skip-Gram 是用一个 Center Word 预测其 Context 里的 Word;而 CBoW 是用 Context 里的所有 Word 去预测一个 Center Word。显然,前者对训练数据的利用更高效(构造的数据集多),因此,对于较小的语料库,Skip-Gram是更好的选择。

为什么要使用HS(Hierarchical Softmax )和负采样(Negative Sampling)?

两个模型的原始做法都是做内积,经过 Softmax 后得到概率,因此复杂度很高。假设我们拥有一个百万量级的词典,每一步训练都需要计算上百万次词向量的内积,显然这是无法容忍的。因此人们提出了两种较为实用的训练技巧,即 HS 和 Negative Sampling。

介绍一下HS(Hierarchical Softmax )

HS 是试图用词频建立一棵哈夫曼树,那么经常出现的词路径会比较短。树的叶子节点表示词,共词典大小多个,而非叶子结点是模型的参数,比词典个数少一个。要预测的词,转化成预测从根节点到该词所在叶子节点的路径,是多个二分类问题。本质是把 N 分类问题变成 log(N) 次二分类

介绍一下负采样(Negative Sampling)

把原来的 Softmax 多分类问题,直接转化成一个正例和多个负例的二分类问题。让正例预测 1,负例预测 0,这样子更新局部的参数。.

负采样为什么要用词频来做采样概率?

可以让频率高的词先学习,然后带动其他词的学习。

负采样有什么作用?

  • 可以大大降低计算量,加快模型训练时间
  • 保证模型训练效果,因为目标词只跟相近的词有关,没有必要使用全部的单词作为负例来更新它们的权重

对比 Skip-Gram 和 CBOW

CBOW 会比 Skip-Gram 训练速度更快,因为前者每次会更新 Context(w) 的词向量,而 Skip-Gram 只更新核心词的词向量。
Skip-Gram 对低频词效果比 CBOW 好,因为 SkipGram 是尝试用当前词去预测上下文,当前词是低频词还是高频词没有区别。但是 CBOW 相当于是完形填空,会选择最常见或者说概率最大的词来补全,因此不太会选择低频词。

对比字向量和词向量

字向量可以解决未登录词的问题,以及可以避免分词;词向量包含的语义空间更大,更加丰富,如果语料足够的情况下,词向量是能够学到更多的语义信息。

如何衡量 Word2vec 得出的词/字向量的质量?

在实际工程中一般以 Word Embedding 对于实际任务的收益为评价标准,包括词汇类比任务(如 king – queen = man - woman)以及 NLP 中常见的应用任务,比如命名实体识别(NER),关系抽取(RE)等。

神经网络框架里的 Embedding 层和 Word Embedding 有什么关系?

Embedding 层就是以 One-Hot 为输入(实际一般输入字或词的 id)、中间层节点为字向量维数的全连接层。而这个全连接层的参数,就是一个 “词向量表”,即 Word Embedding。

Word2vec 的缺点?

没有考虑词序,因为它假设了词的上下文无关(把概率变为连乘);没有考虑全局的统计信息。

LDA 的原理?

LDA 是 pLSA 的贝叶斯版本,pLSA 是使用生成模型建模文章的生成过程,它假定 K 个主题 Z,对于文档集 D 中每个文档 Di 都包含 Ni 个词 W,对每个 Wi,最大化给定文档 Di 生成主题 Zi,再根据 Di 和 Zi 生成 Wi 的概率,最终生成整个文档序列。

LDA 将每篇文章的主题分布和每个主题对应的词分布看成是一种先验分布,即狄利克雷分布。之所以选择该分布,是因为它是多项式分布的共轭先验概率分布,后验分布依然服从狄利克雷分布,方便计算。

具体过程为:首先从超参数为 α 的狄利克雷分布中抽样生成给定文档的主题分布 θ,对于文档中的每一个词,从多项式分布 θ 中抽样生成对应的主题 z,从超参数为 β 的狄利克雷分布中抽样生成给定主题 z 的词分布 φ,从多项式分布 φ 中抽样生成词 w。

LDA 的主题数为超参数,一般使用验证集评估 ppl 或 HDP-LDA。

Word2vec 和 TF-IDF 在计算相似度时的区别?

  • 前者是稠密向量,后者是稀疏向量
  • 前者维度低很多,计算更快
  • 前者可以表达语义信息,后者不行
  • 前者可以通过计算余弦相似度计算两个向量的相似度,后者不行

为什么训练得到的字词向量会有如下一些性质,比如向量的夹角余弦、向量的欧氏距离都能在一定程度上反应字词之间的相似性?

因为我们在用语言模型无监督训练时,是开了窗口的,通过前 n 个字预测下一个字的概率,这个 n 就是窗口的大小,同一个窗口内的词语,会有相似的更新,这些更新会累积,而具有相似模式的词语就会把这些相似更新累积到可观的程度。

Word2vec 与 Glove的异同?

在 Word2vec 中,高频的词共现只是产生了更多的训练数据,并没有携带额外的信息;Glove 加入词的全局共现频率信息。它基于词上下文矩阵的矩阵分解技术,首先构建一个大的单词×上下文共现矩阵,然后学习低维表示,可以视为共现矩阵的重构问题。

  • Word2vec 是局部语料训练,特征提取基于滑动窗口;Glove 的滑动窗口是为了构建共现矩阵,统计全部语料在固定窗口内词的共现频次。
  • Word2vec 损失函数是带权重的交叉熵;Glove 的损失函数是最小平方损失
  • Glove 利用了全局信息,训练时收敛更快

Word2vec 相比之前的 Word Embedding 方法好在什么地方?

考虑了上下文。

Doc2vec 原理?

Doc2vec 是训练文档表征的,在输入层增加了一个 Doc 向量。有两种不同的训练方法:Distributed Memory 是给定上下文和段落向量的情况下预测单词的概率。在一个句子或者段落文档训练过程中,段落 ID 保存不变,共享同一个段落向量。Distributed Bag of Words 则在只给定段落向量的情况下预测段落中一组随机单词的概率。使用时固定词向量,随机初始化 Doc 向量,训练几个步骤后得到最终 Doc 向量。

FastText 相比 Word2vec 有哪些不同?

  • FastText 增加了 Ngram 特征,可以更好地解决未登录词及在小数据集上训练的问题
  • FastText 是一个工具包,除了可以训练词向量还可以训练有监督的文本分类模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1616571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 数据库简化操作:dataset 库介绍

文章目录 Python 数据库简化操作:dataset 库介绍第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见…

小清新思维题

CF521D shop Problem Solution 首先如果确定了执行的操作,执行顺序一定为赋值、加、乘。赋值操作只保留最大的,并可以转化为加法。每个数的加法操作按从大到小顺序排序后可以转化为乘法。最后将所有乘法操作从大到小排序选前𝑚个即可。 先…

数据库服务类--Redis--未授权访问终端Getshell

免责声明:本文仅做技术交流与学习. 目录 前提条件: windows上开启redis服务: Linux上创建&开启redis服务: 操作: 1-连接靶机redis 2-写入webshell 3-访问后门 redis--->webshell Redis未授权访问漏洞复现与利用 - 知乎 (zhihu.com) 前提条件: 端口开放(6379) 目录…

数据库左连接、右连接、内连接、全连接

在数据库增删改查中,数据通常不在同一张表中,涉及多表数据查询就需要表之间的连接方式,常用的数据库表连接方式有; 1)内连接:inner join 2)全连接:union 3)右连接&#x…

centos7安装了没有图形界面的解决办法

如果你的centos7是这样的 只需要重新选择虚拟机 按照这个配置调即可

面试宝典(1)——数据库篇(MySQL)

面试宝典(1)——数据库篇(MySQL) 1.什么是索引? 索引是一种用于加快数据库查询速度的数据结构。 索引可以帮助数据库快速定位到数据库表中特定列的记录,从而加快数据检索和查询的速度。 通过在表的列上…

protoc初识

protoc初识 参考资料 https://blog.csdn.net/qq_46637011/article/details/135085568 https://blog.csdn.net/qq_39400324/article/details/134172333 一 前期准备 windows查看proto是否安装好及版本号 protoc --version windows查看路径下文件 dir 想在124.50机器上安…

Linux进程概念(四):进程优先级 环境变量

目录 进程优先级 学前补充 命令行参数 环境变量 环境变量$PATH 整体理解环境变量 environ指针 获取环境变量的三种方式 内建指令 证明内建指令的存在 进程优先级 基本概念:指定进程获取某种资源的先后顺序 linux的优先级是进程控制块task_struct中的…

华为交换机重置密码

1.进入bootrom 加电后,18S左右,在启动菜单按 CtrlB 进入bootrom(3s内) 注意:本步骤属于高危操作,一定小心切勿删除系统或修改bootrom密码! 输入bootrom密码,按6 看到提示成功后按…

Django模型的继承

Django模型的继承 Django模型的继承,包括模型的抽象基类、Meta继承、related_name和related_query_name属性、多表继承、Meta和多表继承、继承与反向关系、代理模型、代理模型继承和未托管模型,以及多重继承等内容。本文讲解一下抽象基类继承&#xff0…

详解Qt中实现树状结构图

在Qt中,实现树状结构图通常采用QTreeWidget或QTreeView组件。这两个组件都允许我们创建具有层次结构的列表,但它们之间存在一些差异。QTreeWidget提供了更简单的API,适用于轻量级、快速开发的需求;而QTreeView则更为灵活和可定制&…

.NET WebAPI服务端启用跨源请求 (CORS)

跨源请求 (CORS)问题 在API服务端启用跨源请求 (CORS) 调用 UseCors 扩展方法并指定 PolicyCorsName CORS 策略。 UseCors 添加 CORS 中间件。 对 UseCors 的调用必须放在 UseRouting 之后,但在 UseAuthorization 之前。 Program.cs添加如下代码(注意中间…

货拉拉0-1数据指标体系构建与应用

目录 一、背景 二、指标体系搭建 2.1 指标设计 2.2 指标体系搭建 2.3 指标维度拆解 三、指标标准化建设 四、指标元数据管理 五、指标应用&未来规划 原文大佬介绍的这篇指标体系构建有借鉴意义,现摘抄下来用作沉淀学习。如有侵权请告知~ 一、背景 指标…

二叉搜索树及相关操作(图文详解)

1.概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分…

【面试经典 150 | 数组】整数转罗马数字

文章目录 写在前面Tag题目来源解题思路方法一:模拟 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾…

c# 构造函数 静态构造函数 内联字段(即静态字段和实例字段) 父类构造函数 父类静态构造函数 父类内联字段 执行顺序

顺序如下: 1.子类的内联字段 2.子类的静态构造函数 3.父类的内联字段 4.父类的静态构造函数 5.父类的构造函数 6.子类的构造函数 7.子类的方法 public class A{public static string a1"A0";static A(){Console.WriteLine("父类内联字段:…

品深茶的创始人是谁?

据说,品深茶的创始人之前是一个程序员,他在软件行业工作十多年,由于常年熬夜加班再加上抽烟喝酒等不良习惯,导致在一次体检中被查出患上了肾癌,对他来说,期待的财务自由还没实现,身体就已经完蛋…

C++进阶复习

1 指针 作用&#xff1a;通过指针间接访问内存 1.内存编号是从0开始记录的&#xff0c;一般用十六进制数字表示。 2.可以利用指针变量保存地址。 1.1 指针变量的定义和使用 语法&#xff1a;数据类型 *变量名。如int *a; #include<iostream> using namespace std;int mai…

mininet+odl安装

安装环境 ubuntu-18.04.2-desktop-amd64 Java version: 1.8.0_362 Apache Maven 3.6.0 opendaylight: distribution-karaf-0.6.0-Carbon(csdn中应该是已有资源&#xff0c;不让上传) opendaylight的官网下载链接一直打开失败&#xff0c;我使用的是别人的Carbon版本。 在安…

汇编语言作业(三)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 1、阅读第4页ppt 第一个汇编程序 ex1.asm 并编写编译执行成功后&#xff0c;要求改写&#xff0c;使其输出字符ABC&#xff0c;如下图所示。 &#xff08;1&#xff09;编译产生目标文件 &#xff08;2&#xff09;…