全面了解NLP中的文本表示

全面了解NLP中的文本表示

看了一篇文本表示相关的综述(后附引用),对文本表示做了一个全面的了解,方便自己后续的学习。

文本表示基础

自然语言文本形式上都是一个特定符号序列,这个序列描述了现实世界,人脑根据一定的语言规则对其中的语义进行理解。要进行文本表示的原因是计算机是无法直接对这些文本字符串进行处理的, 必须进行数值化或向量化。
目前学术界对人脑中语言信息存储和处理的核心原理尚不清楚,这导致了在计算机中模拟人脑对自然语言进行处理缺乏理论依据。并且自然语言本身具有复杂性、歧义性和多样性,而计算机的计算性能和算法模型有局限性,导致自然语言处理的前景远大但挑战也大。
自然语言处理的发展主要经历了五个阶段:

  1. 20 世纪 50 年代之前的萌芽时期 ,计算机的诞生、人工智能的提出为自然语言处理提供了基础和动力, 催生了人类借助计算机探索语言机制和语言应用的自然语言处理的研究和应用;
  2. 20 世纪60–70 年代是自然语言处理的快速发展时期 以乔姆斯基的形式语言理论为代表的符号主义和生成语法, 通过人工的方式, 利用语言知识归纳形成语言规则, 建立语言知识库, 进而实现语言的表示、推理和应用;
  3. 20 世纪70–80 年代是自然语言处理研究的低谷时期. 由于前期对计算机处理自然语言的难度估计过于乐观, 许多系统并未达到预期目标, 引起了业界对自然语言处理, 甚至是人工智能的怀疑;
  4. 20 世纪 90 年代–2010s, 自然语言处理进入统计时代. 借助概率统计等数学工具、信息论以及机器学习方法实现自然语言处理的统计和概率分析, 大量的基于统计学习的理论、方法和模型被提出并应用于自然语言处理实际领域, 取得了许多实用化的成果;
  5. 2012年以来, 基于深度学习的自然语言处理成为主流方法. 建立在神经网络基础上的深度学习在语音、图像等领域取得了良好的效果, 自然语言处理领域引入深度学习, 在许多任务上取得了明显的质量提升。

在语言学,中常通过基于规则的方法进行文本表示;在数学中,通常利用集合、向量、矩阵等进行文本表示, 引入概率与统计、函数、图论、网络技术、信息论等进行文本分析;在计算机学科中,输入和存储语言符号, 然后通过统计计算、机器学习等技术实现文本分析、处理和生成等后续操作。
自然语言的处理流程如下。其中文本表示处在中间位置承上启下,主要有两个步骤:
(1) 选择或构建文本表示模型,也就是要确定用什么样的要素表示非结构化的文本;
(2) 文本要素的数值化,进而实现文本的数值化。
自然语言处理流程
和文本表示关系密切的一个概念是语言模型。语言模型可以根据上下文预测下一个语言单位是什么, 可以从大规模的文本中学习到语义。

  • 基于规则的语言模型:类似于编程语言的处理机制, 由专家归纳整理出自然语言的语法规则, 计算机利用这些规则解析语言文本, 判断其合法性, 或根据规则生成合法的文本。可解释性强,但持续性和移植性较差。
  • 基于统计的语言模型:把语言成分序列看作是一个随机事件, 通过概率确定其语言合法性。可解释性强但忽略了语义和推理。
  • 基于神经网络的语言模型:使用低维、稠密的实值向量表示语言中的组成要素,基于深度学习和神经网络, 文本表示采用表示学习机制, 再针对后续应用进行微调。目前是文本表示的主流方法。优点是客观、低维、稠密、可获取词之间的相似性。

文本表示至少需满足两个条件:
(1) 表达效果. 文本表示需将源文本信息恰当、完全地表达出来, 也就是表示过程中应保证语义信息的完整性和一致性. 文本表示空间尽可能地包含原文本空间内的信息, 因为一旦在空间映射时丢弃或歪曲了信息, 则在后续的计算中就无法再获取到这些信息了.
(2) 表达效率. 源文本转化成文本表示的代价不能太高, 应尽量减小复杂度, 同时文本表示的结果应便于后续文本处理的实现.

主流技术

分类

离散化文本表示:将文本抽象成文本内容对象的序列, 根据目标任务确定文本对象, 将这些对象作为离散的特征进行数值化。最简单的离散化文本表示形式是“独热”表示 (one hot representation, one-hot)。
连续表示/分布表示 (distributional representation):其基本思想是“词的语义由其上下文确定”。

  • 基于矩阵的分布式表示最常用的形式是构建一个大小为 V×C 的共现矩阵 M, 其中 V 是词典大小, C 是所限定的上下文范围大小。比如在词的表示中, 词 W 的上下文可以为特定窗口中的其他词、 W 所在句子或所在文档等. 如果以句子或篇章作为窗口范围, 共现矩阵 M 的每一行就是 W 对应词的向量表示, 每一列是句子的向量表示。
  • 基于神经网络的分布式表示 (distributed representation) :借助于神经网络的非线性变换将文本转化成为稠密、低维、连续的向量, 可以实现不同文本粒度, 比如词、句子、篇章等的表示。神经网络语言模型 NNLM 是最早、最经典的分布式表示模型, 在其基础上得到词的表示 Word2Vec, 衍生形式包括 GloVe、 fastText、 ELMO、 Transformer、 GPT 和 BERT 等. 自然语言处理中近几年提出的 seq2seq 模型、 attention 机制, 特别是预训练 (pretraining) 结合调优 (fine-tuning) 技术, 实现了文本表示学习和后续自然语言处理任务的有效结合。

文本的分布表示成为主流方法, 特别是表示学习, 可以从文本中自动获取文本的特征, 逐渐成为未来研究和应用的主要形式。

常见的文本表示方法

  • 向量空间模型是一种简单有效的文本表示模型, 是一种离散型的文本表示模型。文档 (一般是句子、段落或篇章) 表示成一个维数很高的向量, 各维对应该文档的特征项 (字、词、词组或短语), 其数值对应特征项在该文档中的权重 (term weight)。文档向量的形式为: Doc((t1,w1),(t2,w2),…,(tn,wn)), 简记为 Doc(w1,w2,…,wn), 其中, wk 是特征项 tk 的权重。只关注文档中单个特征项是否包含, 称为布尔模型或 one-hot 模型;如果按特征项在文档中出现的频率, 比如词频 (term frequency, TF), 进行统计, 称为基于词频的文档向量空间表示。

  • 人类写文章的过程, 首先确定文章的核心内容, 然后组织材料进行表达, 往往通过划分几个主题来实现,最后对每个主题选择相应的词汇, 按语法规范将词汇组织起来. 文章分析是这个过程的逆过程, 通过词汇的集合,确定相应的主题, 最后理解文章的核心思想。主题模型对语料库中的文本, 从词汇出发, 统计学习文本-主题-词之间的关系以实现文本表示,进而应用于后续的文本处理工作, 比如文本分类、文本摘要等。

  • 基于图的方法
    自然语言处理中的文本表示成图的形式来进行研究需解决 3 个基本问题: (1) 表示问题. 获取任务中的节点, 确定如何通过图结构来描述节点之间的关系以及节点和边的属性量化. (2) 学习问题. 图模型中的节点、结构表示学习, 获取相关的参数.(3) 推断问题. 在已知部分信息时, 计算其他信息的分布.

    • 基于经典图论的图文本表示
      GSM模型生成文本共现图:例如字从原始文本中抽取出来形成节点,节点之间的关系构成边,两个字出现在一个句子中节点之间就有连边。

    • 基于信息检索的图文本表示
      TextRank首先把文本分割成若干特征项并建立图模型, 可以是有向图, 也可以是无向图, 但一般是加权图, 然后进行迭代计算, 对文本中的重要成分进行排序. TextRank 算法由 PageRank 算法改进而来。PageRank 算法初始设置每个网页的重要性为 1, 按公式多次迭代达到稳定, 得到的结果就是当前互联网状态下网页的重要性权重值.TextRank 类似进行迭代计算, 简洁有效.

    • 基于复杂网络的图文本表示
      复杂网络一般用来描述自然界或人类社会中呈现高度复杂性网络结构的系统, 实质上是由大量节点及其相互作用形成的图结构. 例如人际关系网络、电力网络、基因网络、航空网络以及计算机网络。复杂系统中的要素或现象等被抽象为节点, 其间的关系被定义为边. 文本复杂网络通常将文本中的字、词或句子等语言要素表示为节点, 字、词或句子间的关系表示为边, 将文本抽象成图.

    • 基于知识图谱的图文本表示
      知识图谱目标是描述现实世界中的各种实体和概念, 以及它们之间的关联关系。知识图谱直观的表示形式就是一个图 G, 其中节点代表实体, 边代表两个实体之间的关系, G 中的结构定义成三元
      组形式, 三元组主要有两种: 一种是〈主体 (subject)、谓词 (predicate)、客体 (object)〉 , 另一种是〈主体 (subject)、属性 (property)、属性值 (property value)〉 .对于文档或文档集合, 提取其中的关键信息, 结构化并最终组织成图谱形式, 形成对文章语义信息的图谱化表示, 比如可以将高频词、关键词、命名实体或主谓宾等语法形式抽取出来进行图谱的组织和表示

  • 基于神经网络的方法
    针对自然语言处理, 获取海量无标注文本, 输入多隐层神经网络模型, 经过隐层的非线性变换自动学习文本中的词法、句法和语义特征。
    代表性的模型包括: Transformer(2017); GPT-1、 ELMO、 BERT (2018); Transformer-XL、 GPT-2、改进的 BERT 模型 (RoBERTa、 ALBert、TinyBert、 DistilBert、 SpanBert、 mBert、 BART 等)、 T5、 XLNet、 ERNIE (2019); GPT-3、 ELECTRA (2020) 等。
    主要优点包括: (1) 数据驱动 (data driven), 与当前大数据时代相适应, 大量的语料易于获取; (2) 自动特征获取, 克服了繁琐的特征工程中的一些问题; (3) 神经网络在图像、视频等领域中的成功应用, 为 NLP 提供了良好的借鉴; (4) 不同粒度、不同领域的文本借助向量获得统一的文本表示形式, 简化了表示过程和后续任务的针对性处理; (5) 基于神经网络的系统易于计算机的并行处理, 实现了端到端的应用, 克服了传统 NLP 系统表示、任务两步法的弊端, 有较低的维护成本和较小的推理代价。

  • 基于表示学习的方法
    表示学习 (representation learning), 即找到对于原始数据更好的表达, 以便于后续任务的解决(化繁为简)。表示学习在自然语言处理中的应用, 主要包括对文本的无监督训练(贪心逐层无监督预训练模型)、有监督预训练、分布式表示(词嵌入)
    核心问题1: 什么是好的表示?

    • 表示能力. 表示模型具有一定的深度, 同样规模的表示度量, 比如向量、矩阵等, 可以包含更多的文本信息.
    • 易用性. 文本的表示容易实现, 使后续文本处理任务简单, 性能得到提升.
    • 泛化能力. 好的文本表示应该具有一般性, 是任务或领域独立的, 可以较容易地迁移到其他 任务上.

    核心问题2: 怎么学习到好的表示?

    • 文本表示中的深度学习和表示学习
      表示学习将许多深度学习形式联系在了一起, 关键环节是构建具有一定深度的多层次特征表示. 深度学习是表示学习最好的体现, 算法自动构建特征, 解决了人工特征构建的问题。 所以有观点认为, 深度学习就是表示学习, 至少是表示学习的经典代表。
    • 文本表示中的图嵌入和表示学习
      图嵌入:通过保留图中节点信息和节点之间边的拓扑结构, 将图中节点表示为低维向量空间, 以便后续的机器学习算法进行处理
      GNN:假设网络 G=(V,E), 其中, V={vi}是节点集合, E={(vi,vj)}是边的集合, GNN 网络表示将学习到网络中每个节点在低维空间的向量表示 Φ(vi).

其他文本表示方法

  1. 基于事件的方法
    事件是人类认识和理解现实世界、描述或传播信息的基本单元, 以事件为知识表示单元对文本中的事件以及事件关系进行有效表示是一项基础性工作, 可以为事件本体以及基于事件的知识推理提供服务。对特定文体的自然语言处理, 比如叙事文本、新闻文本等采用基于事件的文本表示仍有一定的可行性。
  2. 基于语义的方法
    首先形成语义对象, 然后分析语义对象之间的联系或整个表达的语义结构(词向量、句向量、主题模型)
    代表性的基于语义的文本表示方法包括: (1) 基于语境框架的文本表示, 以概念层次网络理论为基础, 将文本信息抽象成领域信息、情景信息、背景信息 3 方面, 利用一个包含语境三要素的三维信息空间描述来进行文本表示. (2) 基于本体论的文本表示, 通过领域本体将文本的特征词映射为概念, 通过对文本概念进行处理以完成文本表示过程
  3. 基于知识的方法

文本表示的发展趋势

(1)文本表示与知识的融合. 在一些垂直领域(金融/医疗)专业知识十分重要,可以利用已有的知识库来改进词嵌入模型, 结合知识图谱和未标注语料学习知识和词向量表示。
(2) 跨语种的语言统一表示研究. 不同语言及文本可能具有相似性,如果语义相同的不同语言有相似的表示,可以构建一种统一的针对不同语言的语言表示模型
(3) 多粒度文本的联合表示. 语言本身不同的粒度之间也具有关联,可以构建多粒度文本的联合语义表示模型。
(4) 少资源文本表示学习. 目前的文本表示方法会过滤掉少资源或低频的词,如果能像人类一样凭借某种工具(字典/少量语言样本)来学习利用少资源文本就可以吧其中有价值的信息利用起来。
(5) 文本表示的自动学习. 深度学习对非结构数据的表示和学习能力很强,自然语言处理中要对海量的数据进行建模
(6) 多模态深度语义的融合表示. 声音、图像、视频、文本等不同模态的信息综合感知和认知表示建模, 可以拟合人类学习过程,深层次理解信息。
(7) 传统表示模型的深入研究和广泛应用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值