数据预处理中的高频词与低频词

标签:#文本处理# 时间:2019/07/16 21:50:54 作者:小木

在自然语言数据预处理阶段,为了提取更有用的信息,对数据必须进行相应处理。本文重点介绍对于高频词与低频词的处理。

低频词的处理:

低频词,顾名思义就是在数据中出现次数较少的词语。此类数据实际上是具有一定的信息量,但是把低频词放入模型当中运行时,它们常常保持他们的随机初始状态,给模型增加了噪声。对于低频词的处理,简单的方法就是移除他们。重点介绍TF方法。TF (Term Frequency),即词频处理方法,当词出现的次数低于min时,即移除;或者按照词语出现的次数排序,消除掉一定比例的低频词。词频的计算有两种,一种直接是某个词在文章中出现的次数,另一种计算方式是某个词在文章中出现的总次数/文章的总词数。

高频词的处理:

高频词,记载数据中出现次数过多的词语。高频词很多是毫无信息的停用词,直接对照停用词表将停用词处理(根据实际任务的不同,很多词语不需要在本任务中出现,也可以将这些词语添加到停用词表中处理)。可以利用TF处理方法将出现次数大于max的词语去除,或者按照比例去除;本文主要介绍subsampling抽样方法进行处理。

Subsampling方法来源于Mikolov 的文章,根据文章的介绍做了如下简单的翻译:在超大的语料中,高频的词汇出现次数可能达到上百万次。这些词汇通常比其他罕见词提供了更少的信息量。为了度量这种罕见词与高频词之间存在的不平衡现象,使用简单的subsampling方法:训练集中的每个词w_i,以下面公式计算得到的概率进行处理:

p(w_i) = 1 - \sqrt{\frac{t}{f(w_i)}}

f(w_i)w_i的词频,t为选中的一个阈值,通常为10^{-5}. 该公式在实践中很有效,加速了学习,并极大改善了罕见词的学习向量的准确率。

欢迎大家关注DataLearner官方微信,接受最新的AI技术推送