文本表示
文本是一类非常重要的非结构化数据,如何表示文本数据一直是机器学习领域的一个重要研究方向。
词袋模型(Bag of Words)
最基础的文本表示模型是词袋模型。顾名思义,就是将每篇文章看成一袋子词,并忽略每个词出现的顺序。具体地说,就是将整段文本以词为单位切分开,然后每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,而该维对应的权重则反映了这个词在原文章中的重要程度。常用TF-IDF来计算权重。TF-IDF内容详见我的博客:TF-IDF算法介绍
将文章进行单词级别的划分有时候并不是一种好的做法,比如英文中的natural language processing(自然语言处理)一词,如果将natural,language,processing这三个词拆分开来,所表达的含义与三个词连续出现时大相径庭。通常,可以将连续出现的n个词$(n\le N)$组成的词组(N-gram)也作为一个单独的特征放到向量表示中去,构成N-gram模型。另外,同一个词可能有多种词性变化,却具有相似的含义。在实际应用中,一般会对单词进行词干抽取(word Stemming)处理,即将不同词性的单词统一成为同一词干形式。
主题模型(Topic Model)
主题模型用于从文本库中发现有代表性的主题(得到每个主题上面词的分布特性),并且能够计算出每篇文章的主题分布。具体处理方法在后续的博文中楼主会详细介绍……
词嵌入模型 (Word Embedding)
词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间(通常K = 50~300维)上的一个稠密向量(Dense Vector)。K维空间的每一维也可以看作一个隐含的主题,只不过不像主题模型中的主题那样直观。
参考资料
- 《百面机器学习》