从零开始一步一步掌握大语言模型---(3-词表示-word representation)

本文主要是介绍从零开始一步一步掌握大语言模型---(3-词表示-word representation),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

词表示和语言模型

词表示是指把自然语言里面最基本的单位,也就是词,将其转换为机器所能理解的过程。

词表示的目的:

1. 计算词之间的相似度;

2. 推理词之间的关系。

1.最早是如何表示一个词呢?

        设目标词是X,则用X的近义词、反义词等放在一起表示。或者用X的上位词来表示,如NLP隶属于information sciences,sciences等等。但这种表示方法在于,词之间的细微差别难以准确识别。也受限于主观性,数据稀疏性,以及需要大量的人工标注

2.One-hot representation(独热编码)

把每一个词表示成一个独立的符号。每一个词,都会在和词表一样长的向量里面,只有一维对应于该词。该维度上为1,其余维度全为0来表示该词。这种方式对于计算文档之间的相似度时候十分有效,但是对于表示词的时候存在很大问题。因为这种方式会假设词和词向量之间是正交的(不相关的),从而导致任意两个词之间进行计算相似度都为0.

3.使用词的上下文去表示词

这种方式,还是先有一个词表,然后每个词,都用它和它的上下文出现的次数来表示。例如以star举例,它和shining,bright,trees等在文档中一起出现的次数分别是38,45,2,那么就用【,,,38,,,45,2,。。。】这个向量来表示这个词,其余词依此类推。这个向量的长度就是词表的长度,“,”表示star和其余词一起出现的次数,没写上罢了。是这种方式存在的问题是,当所用的词表越来越大时,所用的存储空间也会很大,就是每个词的向量长度都太长了。同时对于某些出现的比较不频繁的词,文档中和这个词一起出现的词就比较少,导致用这种方式所表示的向量比较稀疏,稀疏现象会导致对这个词的表示效果没那么好。

4.词嵌入表示(Word embedding)

是一种分布式的表示(Distribution representation)。这种方式的思想是通过建立一个低维的稠密的向量空间,将每个词尝试学习到这个空间中,用这个空间中某个位置来表示这个词。这种是可以利用大量的文档自动的学习到的。

语言模型

什么是语言模型,语言模型的任务是根据前面出现的单词,预测出下一个单词。

形式化定义如下:

p( Wn |  w1,w2,w3,...,wn-1)

语言模型主要要完成两方面工作:

1.计算一个序列的词成为一句话的概率。也就是计算一个序列的词的联合概率。就是查看已有的一句话或者一个序列的词成为符合语法的概率。

2.计算下一个词是什么。

如何去完成这两项工作?

过去人们假设,一个未来的词(还没出现的词)只会受到它前面的词的影响

引出了一个重要的内容,N-gram Model.

设是4-gram model,那么它就是要根据前面出现的3个词,去预测下一个哪个词出现的概率最大。应该是去词表里面找,一个个试,然后找出频度最大的那个。其实就是去大规模文档中,找这些词出现的频度,然后用频度去预测。

Neural Language Model

这是既N-gram model之后,利用深度学习的一项技术,是利用神经网络去学习词的分布式表示

如何做的呢?首先将每个词表示成一个低维向量,然后将设定的上下文长度的,例如是3,那就将这3个词的向量拼接在一起,就是首尾相接,形成一个更长的向量,然后给这个长向量做一个非线性变化,来预测下一个词出现的概率。

这篇关于从零开始一步一步掌握大语言模型---(3-词表示-word representation)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844741

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的