在情感分析、文本匹配、文本分类等任务中,都需要预先处理原始文本。将一段文本分割成比较有用的词,将词用数值或者向量进行有效表示,从而得到表示该文本的向量或者矩阵。
最初使用关键词打分机制,比如AFINN-111,给每个单词标上分数,例如“good 1;bad -2”,计算每段文本的分数,来判断句子情感正负。
最初使用的是tf-idf来表示每个单词。之后选取所有单词tf-idf值排序前n个单词,来表达文本向量。然后通过求余弦来判断文本匹配度。(目前已经被淘汰了)
过去采用词袋模型,目前基本上都采用神经神经网络方法。文本表示采用word2vec来表示。
主要有以下几步:
- 分词tokenize
- 词性标注pos_tag
- 词干提取stem
- 去除停用词stopwords
目前textBlob包装了nltk,更方便用户使用。