赞
踩
Word Embeddings:词向量/词嵌入
我们知道计算机不认识字符串,所以我们需要将文字转换为数字。Word Embedding就是来完成这样的工作。Word Embeddings are the texts converted into numbers and there may be different numerical representations of the same text.
有一个定义:A Word Embedding format generally tries to map a word using a dictionary to a vector。
所以Word Embedding是什么呢???
参考这篇博文An Intuitive Understanding of Word Embeddings: From Count Vectors to Word2Vec (对词嵌入的直观理解:从计数向量到Word2Vec)可以获得一个比较好的了解。
下面就来看看这个博文是怎么说的。
首先举了三个例子:
①在搜索引擎上输入一个关键词会得到成百上千的相关结果
②通过对推文的分析可以预测出总统竞选的结果
③谷歌翻译可以把你输入的英文翻译成中文
上述三个例子的共同点是什么呢?
-------文本处理!以上三个场景都需要处理大量的文本来执行不同范围的任务,比如在谷歌搜索示例中执行聚类,在第二个场景中执行分类,在第三个场景中执行机器翻译。
思考:
上述问题的答案在于为单词创建一种表示,这种表示能够捕捉单词的含义、语义关系以及它们所使用的不同类型的上下文。
下面,我们将正式了解什么是Word Embeddings以及它们的不同类型
词嵌入是将文本转换为数字,同一文本可能有不同的数字表示。但是在我们深入研究Word Embeddings的细节之前,我们应该问一个问题:为什么我们需要Word Embeddings?
事实证明,许多机器学习算法和几乎所有的深度学习架构都无法处理原始形式的字符串或纯文本。它们需要数字作为输入来执行任何类型的工作,从广义上讲,可以是分类、回归等等。由于文本格式中存在大量的数据,从文本格式中提取知识并构建应用程序是非常必要的。文本应用程序的一些现实世界的应用程序是-情绪分析的评论等亚马逊,文件或新闻分类或聚类的谷歌等。
单词嵌入格式通常尝试使用字典将单词映射到向量。让我们把这个句子分解成更细的细节,以便有一个清晰的观点。举个例子:” Word Embeddings are Word converted into numbers ”
A word in this sentence may be “Embeddings” or “numbers ” etc.
A dictionary may be the list of all unique words in the sentence. So, a dictionary may look like --[‘Word’,’Embeddings’,’are’,’Converted’,’into’,’numbers’]
采用one-hot编码的话,词向量的维度是整个词汇表的大小,其中1表示单词存在的位置,其他位置为0。根据上述字典,numbers 在这种格式下的向量表示为[0,0,0,0,0,1],Converted的向量表示为[0,0,0,1,0,0]。
这种方法的缺点也就很明显啦①当词汇表很大的时候,表示单词的维度就会很大。若是百万级别的词汇表,单词的维度也就是百万。 ②向量中只有一个位置是1,其余全部是0,表达效率不高。③体现不出语义关系
这是用向量形式表示单词的一种非常简单的方法。让我们来看看不同类型的词嵌入或词向量,以及它们相对于其他类型的优缺点。
2.1.1 Count Vector
语料库C有D个文档{d1,d2,…dD},N个唯一的(不重复的)标签(token),这N个标签会形成我们的字典, Count Vector矩阵M大小为DXN。矩阵M的每一行是文档di中标签(token)出现的次数。举个例子:
D1: He is a lazy boy. She is also lazy.
D2: Neeraj is a lazy person.
The dictionary created may be a list of unique tokens(words) in the corpus =[‘He’,’She’,’lazy’,’boy’,’Neeraj’,’person’]
The count matrix M of size 2 X 6 will be represented as –
He | She | lazy | boy | Neeraj | person | |
---|---|---|---|---|---|---|
D1 | 1 | 1 | 2 | 1 | 0 | 0 |
D2 | 0 | 0 | 1 | 0 | 1 | 1 |
现在,列也可以理解为矩阵M中对应单词的单词向量。例如,上面矩阵中表示“lazy”的单词向量是[2,1]。这里,行对应于语料库中的文档,列对应于字典中的标记。上面矩阵的第二行可以理解为- D2包含“lazy”:一次,“Neeraj”:一次和“person”一次。
对矩阵M的表示可能会有些不一样:
2.1.2 TF-IDF vectorization
这是另一种基于频率法的方法,但它与向量化计数(count vector)不同,因为它不仅考虑了单个文档中单词的出现,还考虑了整个语料库。
像“is”、“the”、“a”这样的常用词,与文档中重要的词汇相比,出现的频率更高。例如,一份关于莱昂内尔·梅西的文件将会比其他文件包含更多“梅西”一词。但是像“the”这样的常用词在几乎每个文档中出现的频率也会更高。理想情况
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。