如何估算丢失的文本数据?

数据挖掘 机器学习 nlp 数据清理 缺失数据 文本
2022-02-13 05:42:40

假设我有一个由两个文本列组成的数据框。通过文本,我的意思是这些列中的值是句子/段落。在这种情况下,我该如何处理缺失的“NaN”值?

如果它是数字数据,我会使用频繁/均值/中值/knn 插补。但是,如何处理文本数据?有任何想法吗?

1个回答

首先大部分时间没有“缺失文本”,有一个空字符串(0 个句子,0 个单词),这是一个有效的文本值。区别很重要,因为前者通常意味着信息未被捕获,而后者意味着信息被故意留空。例如,用户不输入评论并没有丢失信息:用户选择不输入任何文本,并且不能假设该选择等同于最常见的任何文本。

据我所知,NLP 中没有插补。在某些情况下,使用数值进行插补是有意义的(即使如此,也应该谨慎使用),但总的来说,文本过于多样化(非结构化数据),“最常见文本”的概念没有任何意义。一般来说,从评估的角度来看,用人工生成的数据代替真实文本(或没有文本)是不受欢迎的。

因此,在我看来,主要的设计选项如下:

  • 将文本留空。大多数时候,空文本可以像任何其他文本值一样表示,例如由零组成的 TFIDF 向量。
  • 丢弃没有文本的实例。例如,在文本分类中,没有文本意味着根本没有输入数据,因此在这种情况下执行任务毫无意义。
  • 根据任务的具体情况将没有文本的实例视为特殊情况。例如,如果这对任务有意义,可以系统地为此类实例分配多数类。