精华内容
下载资源
问答
  • 文本表示

    千次阅读 2019-02-18 14:50:52
    文本表示 文本表示,简单的说就是不将文本视为字符串,而视为在数学上处理起来更为方便的向量。而怎么把字符串变为向量,就是文本表示的核心问题。 文本表示的好处是什么? 根本原因是计算机不方便直接对文本字符串...

    文本表示

    文本表示,简单的说就是不将文本视为字符串,而视为在数学上处理起来更为方便的向量。而怎么把字符串变为向量,就是文本表示的核心问题。

    文本表示的好处是什么?

    • 根本原因是计算机不方便直接对文本字符串进行处理,因此需要进行数值化或者向量化。
    • 便于机器学习。不仅传统的机器学习算法需要这个过程,深度学习也需要这个过程。
    • 良好的文本表示形式可以极大的提升算法效果。

    文本表示分为哪几种呢?(基于类型)

    • 长文本表示
    • 短文本表示(句子)
    • 词表示

    文本表示分类(基于表示方法)

    离散表示

    • One-hot表示
    • Multi-hot表示

    分布式表示

    基于矩阵

    • 基于降维表示
    • 基于聚类表示

    基于神经网络

    • CBOW
    • Skip-gram
    • NNLM
    • C&W

    文本离散表示

    词袋模型与TF-IDF

    词袋子模型(bag of words)

    词袋子模型是一种非常经典的文本表示。顾名思义,它就是将字符串视为一个 “装满字符(词)的袋子” ,袋子里的 词语是随便摆放的。而两个词袋子的相似程度就以它们重合的词及其相关分布进行判断。
    举个例子,对于句子:“我们这些傻傻的路痴走啊走,好不容易找到了饭店的西门”。
    我们先进行分词,将所有出现的词储存为一个词表。然后依据 “词语是否出现在词表中” 可以将这句话变为这样的向量:
    [1,0,1,1,1,0,0,1,…]
    词表:[我们,你们,走,西门,的,吃饭,旅游,找到了,…]
    其中向量的每个维度唯一对应着词表中的一个词。可见这个向量的大部分位置是0值,这种情况叫作“稀疏”。为了减少存储空间,我们也可以只储存非零值的位置。

    词袋子模型的优缺点

    优点

    • 简单,方便,
    • 快速在语料充足的前提下,对于简单的自然语言处理任务效果不错。如文本分类。

    缺点

    • 其准确率往往比较低。
    • 凡是出现在文本中的词一视同仁,不能体现不同词在一句话中的不同的重要性。
    • 无法关注词语之间的顺序关系,这是词袋子模型最大的缺点。如“武松打老虎”跟“老虎打武松”在词袋子模型中是认为一样的。

    对词袋子模型的改进:TF-IDF

    详细参考:https://blog.csdn.net/Dulpee/article/details/87578688

    展开全文
  • 文本表示方法

    2020-07-06 10:02:29
    文本表示就是将文本转化成数学上的向量表示,怎么把字符串转化为向量,就是文本表示的核心问题。 离散表示 1.One-hot 这种编码格式首先建立一个全局的完备的词典,该词典包含所有文本中的词,因此该方式表示后的形式...

    文本表示就是将文本转化成数学上的向量表示,怎么把字符串转化为向量,就是文本表示的核心问题。

    离散表示

    1.One-hot

    这种编码格式首先建立一个全局的完备的词典,该词典包含所有文本中的词,因此该方式表示后的形式为一个很大的vector,vector中只在该词出现的位置设置为1,表示该词出现,其余全部为0。
    例:

    小明喜欢看电影,小红喜欢听歌。
    小张喜欢打篮球。

    这两个句子中包含的词去重后构建一个词典,(需要进行文本的预处理-分词,去停用词)

    {“小明”:1,“喜欢”:2,“看电影”:3,“小红”:4,“听歌”:5,“小张”:6,“打篮球”:7}

    每个词的表示向量为(7维的向量,该词的位置为1,其余位置均为0):
    喜欢:{0,1,0,0,0,0,0}
    听歌:{0,0,0,1,0,0,0}
    。。。。。
    一句话的表示:
    小张喜欢打篮球:{0,1,0,0,0,1,1}
    缺点:当语料库非常大时,需要建立一个很大的字典对所有单词进行索引编码。比如100W个单词,每个单词就需要表示成100W维的向量,而且这个向量是很稀疏的,只有一个地方为1其他全为0。还有很重要的一点,这种表示方法无法表达单词与单词之间的相似程度

    2.词袋模型(Bag of Words)

    词袋模型就是将字符串看成一个装满词的袋子,词是在袋子里随机放着的,也称为计数向量表示(Count Vectors)。文档的向量表示可以直接用单词的向量进行求和得到。
    向量的维度和one-hot一样大,只是在句子的表示是将出现的词进行计数。

    例:小明喜欢看电影,小红喜欢听歌。在这个句子中,喜欢出现了两次,向量对应位置的值应为2,向量表示就为{1,2,1,1,1,0,0}

    3.TF-IDF

    上面的词袋模型是基于计数得到的,而TF-IDF则是基于频率统计得到的。TF-IDF的分数代表了词语在当前文档和整个语料库中的相对重要性。TF-IDF 分数由两部分组成:第一部分是词语频率(Term Frequency),第二部分是逆文档频率(Inverse Document Frequency)。其中计算语料库中文档总数除以含有该词语的文档数量,然后再取对数就是逆文档频率。
    https://blog.csdn.net/liusisi_/article/details/107028905
    向量表示直接将每个词的tf-idf值对应于该位置。
    TF-IDF算法的优点是简单快速,结果比较符合实际情况。缺点是,单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。而且,这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。

    4.共现矩阵 (Cocurrence matrix)

    共现:即共同出现,如一句话中共同出现,或一篇文章中共同出现。这里给共同出现的距离一个规范——窗口,如果窗口宽度是2,那就是在当前词的前后各2个词的范围内共同出现。可以想象,其实是一个总长为5的窗口依次扫过所有文本,同时出现在其中的词就说它们共现。

    小明喜欢看电影,小红喜欢听歌。
    小明喜欢打篮球。

    上面两句话设窗口宽度为1,则共现矩阵如下:
    在这里插入图片描述
    共现矩阵是对角矩阵。
    实际应用中,我们用共现矩阵的一行(列)作为某个词的词向量,其向量维度还是会随着字典大小呈线性增长,而且存储共生矩阵可能需要消耗巨大的内存。一般配合PCA或SVD将其进行降维,如将原来 m×n 的矩阵降为 m×r的矩阵,其中 r<n,即将词向量的长度进行缩减。
    在这里插入图片描述

    展开全文
  • 文本表示VSM

    千次阅读 2017-06-02 09:44:55
    要使得计算机能高效的...目前文本表示通常采用向量空间模型(vector space model, VSM)。VSM是20世纪60年代末期由G. Salton等人提出的,是当前自然语言处理中常用的主流模型。 下面首先给出VSM设计的基本概念: ...

    要使得计算机能高效的处理真实文本,就必须找到一种理想的形式化表示方法,这种表示一方面能真实的反映文档内容(主题、领域或结构等),另一方面也要有对不同文档的区分能力。

     

    目前文本表示通常采用向量空间模型(vector space model, VSM)。VSM是20世纪60年代末期由G. Salton等人提出的,是当前自然语言处理中常用的主流模型。

     

    下面首先给出VSM设计的基本概念:

    (1) 文档(document): 通常是文章中具有一定规模的字符串。文档通常我们也叫文本。

    (2) 特征项 (feature term): 是VSM中最小的不可分的语言单元,可以是字、词、词组、短语等。一个文档内容可以被看成是它含有的特征项的集合。表示为一个向量:D(t1,t2,...,tn),其中tk是特征项。

    (3) 特征项权重 (term weight): 对于含有n个特征项的文档D(t1,t2,..,tn),每一个特征项tk都依据一定的原则被赋予了一个权重wk,表示该特征相在文档中的重要程度。这样一个文档D可用它含有的特征项及其特征项所对应的权重所表示: D(t1=w1,t2=w2,...,tn=wn),简记为D(w1,w2,...,wn),其中wk就是特征项tk的权重。

     

    一个文档在上述约定下可以看成是n维空间中的一个向量,这就是VSM的基本理论基础。

     

    向量空间模型在计算文档间相似程度上应用广泛。我们可以通过向量的内积运算来做到这一点:

     

    VSM模型为计算机处理文本分类打下了夯实的数学基础,但是一篇文本到底用哪些特征项来表示呢?比如在《【文本分类】 概述》文章中举的那篇NBA文本的例子,我们可以用所有标蓝的词语作为特征项来表示文本向量:

     

               D = {勒布朗-詹姆斯德维恩-韦德里斯-波什新赛季迈阿密热火总冠军热火球队卫冕冠军,湖人凯尔特人休赛期联盟}

     

     而且这些特征项在文章中的权重是如何计算的呢? 关于这几个问题,我们都将在后面的特征提取方法和特征权重计算方法中讲到。

     

    因为统计学习方法的理论基础(即文档的内容与其中所包含的词有着必然的联系,同一类文档之间总存在多个共同的词,而不同类的文档所包含的词之间差异很大。进一步的,不光是包含哪些词很重要,这些词出现的次数对分类也很重要)。使得

    VSM成了适合文本分类问题的文档表示模型。在这种模型中,一篇文章被看作特征项集合来看,利用加权特征项构成向量进行文本表示,利用词频信息对文本特征进行加权。它实现起来比较简单,并且分类准确度也高,能够满足一般应用的要求。


    而实际上,文本是一种信息载体,其所携带的信息由几部分组成:如组成元素本身的信息(词的信息)、组成元素之间顺序关系带来的信息以及上下文信息(更严格的说,还包括阅读者本身的背景和理解)而VSM这种文档表示模型,基本上完全忽略了除词的信息以外所有的部分,这使得它能表达的信息量存在上限,也直接导致了基于这种模型构建的文本分类系统(虽然这是目前绝对主流的做法),几乎永远也不可能达到人类的分类能力。后面我们也会谈到,相比于所谓的分类算法,对特征的选择,也就是使用哪些特征来代表一篇文档,往往更能影响分类的效果。


    对于扩充文档表示模型所包含的信息量,人们也做过有益的尝试,例如被称为LSI(Latent Semantic Index潜在语义索引)的方法,就被实验证明保留了一定的语义信息(之所以说被实验证明了,是因为人们还无法在形式上严格地证明它确实保留了语义信息,而且这种语义信息并非以人可以理解的方式被保留下来),此为后话。

    实际上:统计学习方法其实就是一个两阶段的解决方案,(1)训练阶段,由计算机来总结分类的规则;(2)分类阶段,给计算机一些它从来没见过的文档,让它分类

    展开全文
  • NLP系列——(4)文本表示

    千次阅读 2019-05-18 10:22:56
    文本表示1、文本表示2、 文本表示的方法2.1 one-hot表示2.2 word2vec2.2.1 CBOW2.2.2 Skip-Gram 1、文本表示 文本表示的意思是把字词处理成向量或矩阵,以便计算机能进行处理。文本表示是自然语言处理的开始环节。 ...

    1、文本表示

    文本表示的意思是把字词处理成向量或矩阵,以便计算机能进行处理。文本表示是自然语言处理的开始环节。

    文本表示按照细粒度划分,一般可分为字级别、词语级别和句子级别的文本表示。

    文本表示分为离散表示分布式表示。离散表示的代表就是词袋模型,one-hot(也叫独热编码)、TF-IDF、n-gram都可以看作是词袋模型。分布式表示也叫做词嵌入(word embedding),经典模型是word2vec,还包括后来的Glove、ELMO、GPT和最近很火的BERT。

    1. 词袋模型:离散、高维、稀疏
      1)One-Hot Encoding:
      独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。
      本质上是用一个只含一个 1、其他都是 0 的向量来唯一表示词语。
      2)TF-IDF:https://blog.csdn.net/xh999bai/article/details/89287016
      3)n-gram:n-gram是从一个句子中提取n个连续的字的集合,可以获取到字的前后信息。一般2-gram或者3-gram比较常见。
      文本的离散表示存在着数据稀疏、向量维度过高、字词之间的关系无法度量的问题,适用于浅层的机器学习模型,不适用于深度学习模型。

    2. 分布式表示:连续、低维、稠密。
      word2vec是Google于2013年开源推出的一个用于获取词向量的工具包。
      word2vec是一个将词表示为一个向量的工具,通过该向量表示,可以用来进行更深入的自然语言处理,比如机器翻译等。

    word2vec作为神经概率语言模型的输入,其本身其实是神经概率模型的副产品,是为了通过神经网络学习某个语言模型而产生的中间结果。具体来说,“某个语言模型”指的是“CBOW”和“Skip-gram”。具体学习过程会用到两个降低复杂度的近似方法——Hierarchical Softmax或Negative Sampling。两个模型乘以两种方法,一共有四种实现。

    1)CBOW:CBOW 是 Continuous Bag-of-Words Model 的缩写,是一种根据上下文的词语预测当前词语的出现概率的模型。
    2)Skip-gram:Skip-gram只是逆转了CBOW的因果关系而已,即已知当前词语,预测上下文。

    2、 文本表示的方法

    2.1 one-hot表示

    one-hot向量表示为ti=[0,0,0,…,1,…0],长度等于特征数目。
    假设在一个语料集合中,一种有n个不同的词,则可以使用一个长度为n的向量,对于第i个词(i=0…n−1),向量index=i处值为1外,向量其他位置的值都为0,这样就可以唯一地通过一个[0,0,1,…,0,0] 形式的向量表示一个词。
    举个例子,假设我们有四个样本(行),每个样本有三个特征(列),如图: 
     
    在这里插入图片描述
    上图中我们已经对每个特征进行了普通的数字编码:我们的feature_1有两种可能的取值,比如是男/女,这里男用1表示,女用2表示。那么one-hot编码是怎么搞的呢?我们再拿feature_2来说明:

    这里feature_2 有4种取值(状态),我们就用4个状态位来表示这个特征,one-hot编码就是保证每个样本中的单个特征只有1位处于状态1,其他的都是0。
    在这里插入图片描述
    对于2种状态、三种状态、甚至更多状态都是这样表示,所以我们可以得到这些样本特征的新表示:
    在这里插入图片描述
    one-hot编码将每个状态位都看成一个特征。对于前两个样本我们可以得到它的特征向量分别为:
    在这里插入图片描述
    one-hot在提取文本特征上的应用
    one hot在特征提取上属于词袋模型(bag of words)。关于如何使用one-hot抽取文本特征向量我们通过以下例子来说明。假设我们的语料库中有三段话:
    我爱中国
    爸爸妈妈爱我
    爸爸妈妈爱中国

    我们首先对预料库分离并获取其中所有的词,然后对每个此进行编号:

    1 我; 2 爱; 3 爸爸; 4 妈妈;5 中国

    然后使用one hot对每段话提取特征向量:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    因此我们得到了最终的特征向量为

    我爱中国  ->   1,1,0,0,1

    爸爸妈妈爱我  ->  1,1,1,1,0

    爸爸妈妈爱中国  ->  0,1,1,1,1

    one-hot 优缺点分析
    优点:一是解决了分类器不好处理离散数据的问题,二是在一定程度上也起到了扩充特征的作用
    缺点:在文本特征表示上有些缺点就非常突出了。首先,它是一个词袋模型,不考虑词与词之间的顺序(文本中词的顺序信息也是很重要的);其次,它假设词与词相互独立(在大多数情况下,词与词是相互影响的);最后,它得到的特征是离散稀疏的

    sklearn实现one-hot encode

    from sklearn import preprocessing  
    
    enc = preprocessing.OneHotEncoder()  # 创建对象
    enc.fit([[0,0,3],[1,1,0],[0,2,1],[1,0,2]])   # 拟合
    array = enc.transform([[0,1,3]]).toarray()  # 转化
    print(array)
    
    

    2.2 word2vec

    什么是word2vec?你可以理解为word2vec就是将词表征为实数值向量的一种高效的算法模型,其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为 K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似。

    Word2vec输出的词向量可以被用来做很多 NLP 相关的工作,比如聚类、找同义词、词性分析等等。如果换个思路, 把词当做特征,那么Word2vec就可以把特征映射到 K 维向量空间,可以为文本数据寻求更加深层次的特征表示 。

    Word2vec 使用的词向量不是我们上述提到的One-hot Representation那种词向量,而是 Distributed representation 的词向量表示方式。其基本思想是 通过训练将每个词映射成 K 维实数向量(K 一般为模型中的超参数),通过词之间的距离(比如 cosine 相似度、欧氏距离等)来判断它们之间的语义相似度.其采用一个 三层的神经网络 ,输入层-隐层-输出层。有个核心的技术是 根据词频用Huffman编码 ,使得所有词频相似的词隐藏层激活的内容基本一致,出现频率越高的词语,他们激活的隐藏层数目越少,这样有效的降低了计算的复杂度。而Word2vec大受欢迎的一个原因正是其高效性,Mikolov 在论文中指出,一个优化的单机版本一天可训练上千亿词。

    这个三层神经网络本身是 对语言模型进行建模 ,但也同时 获得一种单词在向量空间上的表示 ,而这个副作用才是Word2vec的真正目标。

    与潜在语义分析(Latent Semantic Index, LSI)、潜在狄立克雷分配(Latent Dirichlet Allocation,LDA)的经典过程相比,Word2vec利用了词的上下文,语义信息更加地丰富。

    Word2Vec实际上是两种不同的方法:Continuous Bag of Words (CBOW) 和 Skip-gram。CBOW的目标是根据上下文来预测当前词语的概率Skip-gram刚好相反:根据当前词语来预测上下文的概率。这两种方法都利用人工神经网络作为它们的分类算法。起初,每个单词都是一个随机 N 维向量。经过训练之后,该算法利用 CBOW 或者 Skip-gram 的方法获得了每个单词的最优向量。

    2.2.1 CBOW

    这里, 数学基础及英文好的同学可以参照斯坦福大学Deep Learning for NLP课堂笔记

    在这里插入图片描述

    • 输入层:上下文单词的onehot. {假设单词向量空间dim为V,上下文单词个数为C}
    • 所有onehot分别乘共享的输入权重矩阵W. {V*N矩阵,N为自己设定的数,初始化权重矩阵W}
    • 所得的向量 {因为是onehot所以为向量} 相加求平均作为隐层向量, size为1*N.
    • 乘以输出权重矩阵W’ {N*V}
    • 得到向量 {1*V} 激活函数处理得到V-dim概率分布 {PS: 因为是onehot嘛,其中的每一维都代表着一个单词},概率最大的index所指示的单词为预测出的中间词(target word)
    • 与true label的onehot做比较,误差越小越好
      所以,需要定义loss function(一般为交叉熵代价函数),采用梯度下降算法更新W和W’。训练完毕后,输入层的每个单词与矩阵W相乘得到的向量的就是我们想要的词向量(word embedding),这个矩阵(所有单词的word embedding)也叫做look up table(其实聪明的你已经看出来了,其实这个look up table就是矩阵W自身),也就是说,任何一个单词的onehot乘以这个矩阵都将得到自己的词向量。有了look up table就可以免去训练过程直接查表得到单词的词向量了。
      举个例子:
      假设我们现在的Corpus是这一个简单的只有四个单词的document:
      {I drink coffee everyday}
      我们选coffee作为中心词,window size设为2
      也就是说,我们要根据单词”I”,”drink”和”everyday”来预测一个单词,并且我们希望这个单词是coffee。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      **加粗样式**
      假设我们此时得到的概率分布已经达到了设定的迭代次数,那么现在我们训练出来的look up table应该为矩阵W。即,任何一个单词的one-hot表示乘以这个矩阵都将得到自己的word embedding

    2.2.2 Skip-Gram

    根据当前词预测上下文。
    在这里插入图片描述
    接下来我们来看看如何训练我们的神经网络。假如我们有一个句子“The dog barked at the mailman”。
    首先我们选句子中间的一个词作为我们的输入词,例如我们选取“dog”作为input word;
    有了input word以后,我们再定义一个叫做skip_window的参数,它代表着我们从当前input word的一侧(左边或右边)选取词的数量。如果我们设置skip_window=2,那么我们最终获得窗口中的词(包括input word在内)就是[‘The’, ‘dog’,‘barked’, ‘at’]。skip_window=2代表着选取左input word左侧2个词和右侧2个词进入我们的窗口,所以整个窗口大小span=2x2=4。另一个参数叫num_skips,它代表着我们从整个窗口中选取多少个不同的词作为我们的output word,当skip_window=2,num_skips=2时,我们将会得到两组 (input word, output word) 形式的训练数据,即 (‘dog’, ‘barked’),(‘dog’, ‘the’)。
    神经网络基于这些训练数据将会输出一个概率分布,这个概率代表着我们的词典中的每个词是output word的可能性。这句话有点绕,我们来看个栗子。第二步中我们在设置skip_window和num_skips=2的情况下获得了两组训练数据。假如我们先拿一组数据 (‘dog’, ‘barked’) 来训练神经网络,那么模型通过学习这个训练样本,会告诉我们词汇表中每个单词是“barked”的概率大小。
    gensim 库中word2vec使用

    import logging
    import gensim
    from gensim.models import word2vec
    
    # 设置输出日志
    logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
    
    # 直接用gemsim提供的API去读取txt文件,读取文件的API有LineSentence 和 Text8Corpus, PathLineSentences等。
    sentences = word2vec.LineSentence("./all.txt")
    
    # 训练模型,词向量的长度设置为200, 迭代次数为8,采用skip-gram模型,模型保存为bin格式
    model = gensim.models.Word2Vec(sentences, size=200, sg=1, iter=8)
    model.wv.save_word2vec_format("./word2Vec" + ".bin", binary=True)
    
    # 加载bin格式的模型
    wordVec = gensim.models.KeyedVectors.load_word2vec_format("word2Vec.bin", binary=True)
    
    

    参考资料

    https://blog.csdn.net/cqy_chen/article/details/78881084
    https://blog.csdn.net/mawenqi0729/article/details/80698780
    https://blog.csdn.net/nc514819873/article/details/89444948

    展开全文
  • 系统学习NLP(十二)--文本表示综述

    千次阅读 2019-03-10 11:23:02
    文本表示,简单的说就是不将文本视为字符串,而视为在数学上处理起来更为方便的向量(也就是文本特征抽取)。而怎么把字符串变为向量,就是文本表示的核心问题。 文本表示,基于类型分为: 长文本表示 短文本表示...
  • 文本表示简介

    千次阅读 2018-08-20 16:02:58
    SIGAI特邀作者:徐国海 研究方向:自然语言处理和知识图谱 ...文本分类是自然语言处理中研究最为广泛的任务之一,通过构建模型实现对文本内容进行自动分类,有很多应用场景,比如新闻文章主题分类,产品评论...
  • NLP之文本表示-词袋模型

    千次阅读 2019-07-01 17:51:31
    文本表示 文本表示是自然语言处理的开始。 含义:把字词处理成向量或矩阵,以便计算机能进行处理。 按照细粒度划分,一般可分为字级别、词语级别和句子级别的文本表示。 eg:刘诗诗实在太可爱了,我想娶”这句...
  • 自然语言处理之文本表示模型

    千次阅读 2019-02-27 20:58:26
    # 文本表示模型 常见的文本表示模型有:词袋模型(Bag of Words),主题模型(Topic Model),词嵌入模型(Word Embedding) ## 词袋模型 词袋模型是将每篇文章看成一袋子的词,并忽略每个词出现的顺序。具体来说,就是...
  • 当我们尝试使用统计机器学习方法解决文本的有关问题时,第一个需要的...一种经典而且被广泛运用的文本表示方法,即向量空间模型(VSM),俗称“词袋模型”。 我们首先看一下向量空间模型如何表示一个文本:
  • 其中研究最多的就是文本特征抽取,更广义上说是文本表示。我们通过向量的方法表达一个单词、一句话以及一篇文章。首先我们介绍单词转换向量的方法。 单词的表示方法 One-Hot representation(独立热编码)   One-Hot...
  • 1.为什么要进行文本表示 2.文本表示分类(基于粒度,从细到粗) 3.文本表示方法分类 文本表示,简单来说就是把文本变成数学上方便处理的向量(数字)而不是字符串。而怎么把字符串变成向量,是文本表示的核心问题。 ...
  • 文本的表示 ...向量空间模型(vector space model,VSM)是一种最简单的文本表示方法。 VSM假设文档符合:a、各特征项tit_iti​不重复;b、各特征项没有顺序关系。在这两个假设下可以把所有的特征项t1,...,...
  • 1.5有哪些文本表示模型?它们各有什么优缺点?

    千次阅读 多人点赞 2020-06-17 15:22:31
    05 文本表示模型 场景描述 文本是一类非常重要的非结构化数据,如何表示文本数据一直是机器学习领 域的一个重要研究方向。 知识点 词袋模型(Bag of Words),TF-IDF(Term Frequency-Inverse Document Frequency)...
  • 文本表示模型

    千次阅读 2019-03-04 10:01:15
    具体来说,就是将整段文本以词为单位切分开,然后每篇文章可以表示成一个长向量,向量中的每一维表示一个单词,而该维对应的权重则反应了这个词在原文章中的重要程度.常用TF-IDF计算权重,公式为: TF−IDF(t,d)=TF(t,d)+...
  • 文本表示文本表示的意思是把字词处理成向量或矩阵,以便计算机能进行处理。 文本表示按照细粒度划分 字级别、词语级别、句子级别的文本表示文本表示可分为 离散表示(离散、高维、稀疏):代表就是词袋模型,...
  • 功能:实现多级文本预处理全过程,包括文本分词,过滤停用词,词频统计,特征选择,文本表示,并将结果导出为WEKA能够处理的.arff格式。 直接上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- """ 功能...
  • 二,选择合适的方法将这些训练文本进行表示(也就是将文本换一种方式表示) 大家都知道文本其实就是很多词组成的文章啊。所以很自然的就想到用一系列词来表示文本。比如我这篇文章,将其分词之后的结果就是: (...
  • 在上一篇文章介绍了文本表示《NLP之文本表示》https://blog.csdn.net/Prepared/article/details/94864658 但是没有代码。在这篇博客中,我们在实践一下! 中文分词常用模型:Jieba模型、百度的LAC模型,这里使用 ...
  • 目录1.离散表示1.1 One-hot表示1.2 词袋模型1.3 TF-IDF1.4 n-...在NLP(自然语言处理)领域,文本表示是第一步,也是很重要的一步,通俗来说就是把人类的语言符号转化为机器能够进行计算的数字,因为普通的文本语言机...
  • 文本表示(Representation) 文本是一种非结构化的数据信息,是不可以直接被计算的。 文本表示的作用就是将这些非结构化的信息转化为结构化的信息,这样就可以针对文本信息做计算,来完成我们日常所能见到的文本分类...
  • 文本表示最基础的怕是最基础的 one-hot 编码,基础的东西有利于我们从源头和本质上进行思考。比如,现在给一堆文本数据给你,你会如何思考将文本信息传递出去并让计算机识别? ——单词作为文本的最小单位,我们...
  • 要使得计算机能高效的...目前文本表示通常采用向量空间模型(vector space model, VSM) 。VSM是20世纪60年代末期由G. Salton等人提出的,是当前自然语言处理中常用的主流模型。   下面首先给出VSM设计的基本概念...
  • 下面会以卷积神经网络为开端,介绍文本表示学习: 一、回顾卷积神经网络  卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT-CONV-RELU-POOL-FC   1.1 卷积层  卷积层是卷积核...
  • 最基础的文本表示模型是词袋模型。顾名思义,就是将每篇文章看成一袋子词,并忽略每个词出现的顺序。 就是将整段文本以词为单位切分开,然后每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,而该维对应...
  • 词频或词频-逆文档频率的方法表示文本非常容易理解,但是这种向量表示会忽视文档的词序和语法结构。N-gram是将连续的n个词作为向量空间中的一个维度。在该语法中,向量空间也被称为词袋(Bag-of-words),对于一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,858
精华内容 15,143
关键字:

文本表示