使用fastText进行文本分类的文本预处理。

问题描述 投票:0回答:1

什么样的文本预处理能产生最好的监督文本分类的结果,使用的是 快速文本?

官方文件显示,只有一个 简单的预处理 由小写字母和分隔标点组成。词法化、去掉停顿词、屏蔽数字等经典预处理会有帮助吗?

python nlp text-classification fasttext
1个回答
1
投票

没有一个通用的答案。这在很大程度上取决于你试图解决什么任务,你有多大的数据,以及文本是什么语言。通常情况下,如果你有足够的数据,你所描述的简单标记化就是你所需要的。

记号化(Lemmatization): FastText从字符的嵌入中计算出单词嵌入。n-grams,它应该涵盖了大多数(至少是欧洲)语言中的大多数形态,因为你的数据并不是非常小。在这种情况下,词法化可能会有帮助。

去除停顿词: 这取决于任务。如果任务是基于语法,你绝对不应该删除停顿词,因为它们构成了语法。如果任务更多的是依赖于词法语义,那么删除停顿词应该会有帮助。如果你的训练数据足够大,模型应该学习非信息性的停顿词嵌入,不会影响分类。

屏蔽数字。 如果你确定你的任务不会从知道数字中获益,你可以将它们屏蔽掉。通常,问题是数字在训练数据中出现的频率不高,所以你没有为它们学习合适的权重embeddings。在FastText中就不一样了,FastText会从它们的子串的嵌入中组成它们的嵌入。这将使它们在最后可能没有信息,不影响分类。

© www.soinside.com 2019 - 2024. All rights reserved.