想基于大量的文本语料库,通过类似神经网络模型训练,将每个词语映射成一个定维度的向量,维度在几十到化百维之间,每个向量就代表着这个词语,词语的语义和语法相似性和通过向量之间的相似度来判断。
常用的word2vec主要是CBOW和skip-gram两种模型,由于这两个模型实际上就是一个三层的深度神经网络,其实NNLM的升级,去掉了隐藏层,由输入层、投影层、输出层三层构成,简化了模型和提升了模型的训练速度,其在时间效率上、语法语义表达上效果明显都变好。word2vec通过训练大量的语料最终用定维度的向量来表示每个词语,词语之间语义和语法相似度都可以通过向量的相似度来表示。
五、分类模型 5.1 传统机器学习方法大部分机器学习方法都在文本分类领域有所应用,比如朴素贝叶斯分类算法(Naïve Bayes)、KNN、SVM、最大熵和神经网络等等。
5.2 深度学习文本分类模型 5.2.1 FastText5.2.1.1 FastText使用场景
FastText是Facebook AI Research在16年开源的一种文本分类器。 其特点就是fast。相对于其它文本分类模型,如SVM,Logistic Regression等模型,fastText能够在保持分类效果的同时,大大缩短了训练时间。
5.2.1.2 FastText的几个特点适合大型数据+高效的训练速度:能够训练模型“在使用标准多核CPU的情况下10分钟内处理超过10亿个词汇。
支持多语言表达:利用其语言形态结构,FastText能够被设计用来支持包括英语、德语、西班牙语、法语以及捷克语等多种语言。FastText 的性能要比 Word2Vec 工具明显好上不少。
FastText专注于文本分类。它适合类别特别多的分类问题,如果类别比较少,容易过拟合
5.2.1.3 FastText原理FastText方法包含三部分,模型架构,层次SoftMax和N-gram特征。
5.2.1.4 模型架构FastText模型架构和 Word2Vec 中的 CBOW 模型很类似,因为它们的作者都是Facebook的科学家Tomas Mikolov。不同之处在于,FastText预测标签,而CBOW 模型预测中间词。
CBOW的架构:输入的是w(t)的上下文2d个词,经过隐藏层后,输出的是w(t)。