机器学习日记02——朴素贝叶斯02
自然语言处理与词向量
(参考资料:liukn教授机器学习教程,网络课程)
1. 自然语言处理的几个常见应用:
1、机器翻译
2、打击文本类垃圾,如微信、邮件
3、信息提取
4、文本情感分析
5、自动问答
6、个性化推荐
自然语言处理的目标是弥补人类交流(自然语言)与计算机理解(机器学习)之间的差距,最终实现计算机在理解自然语言上像人类一样智能。未来,自然语言处理的发展将使人工智能可以逐渐面对更加复杂的情况、解决更多问题,也将为我们带来一个更加智能化的时代。
2. 什么是词向量?
词向量技术是将词转化成为稠密向量,并且对于相似的词,其对应的 词向量也相近。
• 它一般是一个布尔类型的集合,该集合中每个元素都表示其对应的单 词是否在文档中出现。这种模型通常称为词集模型,
• 词的表示
• 在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常, 有两种表示方式:
• 离散表示(one-hot representation)
• 传统的基于规则或基于统计的自然语义处理方法将单词看作一个原子符号被称作one-hot representation。one-hot representation把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。
• 分布式表示(distribution representation)
• word embedding指的是将词转化成一种分布式表示,又称词向量。分布式表示将词表示成一个定长的连续的稠密向量。
读入写出然后应用?
共现矩阵
(1)通过统计一个事先指定大小的窗口内的word共现次数,以word周边的共现词的次数做为当前word的vector。具体来说,我们通过从大量的语料文本中构建一个共现矩阵来定义word representation。
(2)有语料如下:I like deep learning. I like NLP. I enjoy flying.
矩阵定义的词向量在一定程度上缓解了one-hot向量相似度为0的问题,但没有解决数据稀疏性和维度灾难的问题。