美文网首页
文本如何在计算机中表示

文本如何在计算机中表示

作者: 雍珑庚 | 来源:发表于2020-08-17 22:39 被阅读0次

计算机擅长处理数据,但是我们日常生活中使用的文字应该如何表示成计算机可以看懂的文字呢?对此,自然语言处理(NLP)便成为了一个重要的研究领域,如何表示文本这种非结构化的数据又是NLP的一个重要方向.

近年来常见的的文本表示模型有词袋模型(Bag of Words),TF-IDF(Term Frequency-Inverse Document Frequency),主题模型(Topic Model),词嵌入模型(Word Embedding). 它们的作用都是讲文本按照一定的规律,通过向量表示,向量及所含文字信息.

在过去几年里,基于TF-IDF和Word2Vec的文本表示一直受到工业界的好评,很多的产品都是基于此. 然而Bert的出现,像是一枚洲际导弹,极大的推动了表示学习, 从今年的腾讯算法大赛结构可以看出,前两名都使用了Bert,而排名靠后的使用LSTM大都是因为机器的原因,无法支撑Bert的运行.

本文姑且先不说强悍的Bert是什么个原理,先对过去几年的模型做一总结.

**词袋模型(Bag of Words**, 这是最基础的文本表示模型. 它的操作也很傻瓜, 每一篇文章表示成一个超长的向量, 而每一维度表示一个单词, 该维度对应的权重反映了该=词在原文中的重要程度. 特点是简单公式计算,缺点是向量超长. 对于计算这块,可以使用TF-IDF(Term Frequency-Inverse Document Frequency)或者TextRank(有兴趣的同学可以扩展一下PageRank,本文暂不做详解)

简单来说, 就是一个单词在非常多的文章都出现, 他就是一个比较通用的词汇(注意:在NLP比赛中,通常给的数据集都是脱敏处理的,利用这一特性,还可以推测标点符号,进而推断文章有多少句话).

**主题模型(Topic Model**是一个生成模型,它可以从文本库中发现有代表性的主题.而我们熟知的就是LDA(Latent Dirichlet Allocation)

正如上图所示,通过两个超参数,分别在两个狄利克雷丰富下生成主题和单词,进而生成文章. 但我么训练好超参数时, 对于新来的文档, 可以使用Gibbs Sampling 来估计参数theta. 而且这里的主题数据没有一个固定的最优解.训练模型时,需要先设置主题数, 训练的时候根据训练结果,手动调参数,有优化主题数目, 进而优化文本分类结果.

**词嵌入模型(Word Embedding)**这个是当今比较流行的方案, 因为它引入了神经网络, 大大提高了文本表示能力, 就是使用一个稠密的向量来表示词汇. 什么Word2Vec, Glove, Elmo, Bert都是这样干的.但是不管什么模型,他都是通过神经网络,一层层的把信息进行抽象化. 总体来说,有三大类,要么基于词向量合成的模型,要么基于RNN/CNN的模型,要么就是用注意力机制模型.

相关文章

  • 文本如何在计算机中表示

    计算机擅长处理数据,但是我们日常生活中使用的文字应该如何表示成计算机可以看懂的文字呢?对此,自然语言处理(NLP)...

  • 文本表示

    Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist...

  • 计算机的编码

    计算机中的数据表示 计算机中数字的表示有 无符号数和有符号数 有符号数 数字的表示中使用一位表示符号的正负,比如...

  • 计算机补码

    负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将...

  • 【转载】关于2的补码 (2's complement)

    问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?...

  • 理解二进制补码的本质,别再死记硬背了

    问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?...

  • 一、文本表示

    1、为什么需要文本表示 文字是人类认知过程中产生的高层认知抽象实体,我们需要将其转换为神经网络可以处理的数据类型。...

  • 5 文本表示

    离散表示 One-hot One-hot表示很容易理解。在一个语料库中,给每个字/词编码一个索引,根据索引进行on...

  • 关于2的补码

    1.负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 可以将一个二进...

  • 计算机中二进制补码的运算原理

    在计算机中负数以补码形式表示,计算负数补码的方法是符号位不变,其余位按位取反再加1。简言之,补码是计算机中用来表示...

网友评论

      本文标题:文本如何在计算机中表示

      本文链接:https://www.haomeiwen.com/subject/iwzegctx.html