嵌入与文本清理 (NLP)
Embeddings vs text cleaning (NLP)
我是一名专注于 ML 和 NLP 的研究生。我有很多数据(800 万行),文本通常写得很糟糕,包含很多拼写错误。
所以我必须进行一些文本清理和矢量化。为此,我考虑了两种方法:
第一个:
通过使用 hunspell 包替换坏词来清理文本,hunspell 包是一个拼写检查器和形态分析器
+
代币化
+
使用 tf-idf
将句子转换为向量
这里的问题是,有时,Hunspell 无法提供正确的单词,而是将拼写错误的单词更改为另一个含义不同的单词。此外,hunspell 不会识别首字母缩略词或缩写词(这对我来说非常重要)并且倾向于替换它们。
第二种方法:
代币化
+
使用一些嵌入方法(如 word2vec)将单词转换为向量而不清理文本
我需要知道是否有一些(理论或经验的)方法可以比较这两种方法:)
请随时回复如果您有任何想法要分享,我很乐意与您讨论。
提前谢谢你
我post这里只是为了以更长的形式总结评论并给你更多评论。不确定它会回答你的问题。如果有的话,它应该告诉你为什么你应该重新考虑它。
关于你的问题的分数
在我谈论你的问题之前,让我指出一些关于你的方法的事情。词嵌入本质上是基于词分布的意义的数学表示。它们是短语“你应该知道一个词由它保留的公司”的缩影。从这个意义上说,您将需要非常有规律的拼写错误才能从矢量 space 方法中获得有用的东西。例如,可以解决的问题是美国与英国的拼写或 w8
与 wait
等完整形式的速记。
我想说明的另一点(或者您应该这样做)是您不打算在这里构建机器学习模型。您可以考虑可以生成的词嵌入,一种机器学习模型,但它不是。这只是用数字表示单词的一种方式。
您的问题已经有了答案
您自己已经指出使用 hunspell
会引入新的错误。毫无疑问,您的其他方法也是如此。如果这只是一个预处理步骤,我建议您保留它。这不是你需要证明的东西。如果出于某种原因你确实想深入研究这个问题,你可以按照@lenz 的建议通过外部任务评估你的方法的效果。
外部评估如何进行?
当一项任务太难直接评估时,我们使用另一个依赖于其输出的任务来得出关于其成功的结论。在你的情况下,你似乎应该选择一个依赖于单个单词的任务,比如文档分类。假设您有某种与文档相关联的标签,比如主题或新闻类型。预测这些标签可能是评估方法效率的合法方式。通过与 "dirty" 数据的基线进行比较,您也有机会了解它们是否弊大于利。请记住,这是关于相对差异的,任务的实际表现并不重要。
我是一名专注于 ML 和 NLP 的研究生。我有很多数据(800 万行),文本通常写得很糟糕,包含很多拼写错误。 所以我必须进行一些文本清理和矢量化。为此,我考虑了两种方法:
第一个:
通过使用 hunspell 包替换坏词来清理文本,hunspell 包是一个拼写检查器和形态分析器 + 代币化 + 使用 tf-idf
将句子转换为向量这里的问题是,有时,Hunspell 无法提供正确的单词,而是将拼写错误的单词更改为另一个含义不同的单词。此外,hunspell 不会识别首字母缩略词或缩写词(这对我来说非常重要)并且倾向于替换它们。
第二种方法:
代币化 + 使用一些嵌入方法(如 word2vec)将单词转换为向量而不清理文本
我需要知道是否有一些(理论或经验的)方法可以比较这两种方法:)
请随时回复如果您有任何想法要分享,我很乐意与您讨论。 提前谢谢你
我post这里只是为了以更长的形式总结评论并给你更多评论。不确定它会回答你的问题。如果有的话,它应该告诉你为什么你应该重新考虑它。
关于你的问题的分数
在我谈论你的问题之前,让我指出一些关于你的方法的事情。词嵌入本质上是基于词分布的意义的数学表示。它们是短语“你应该知道一个词由它保留的公司”的缩影。从这个意义上说,您将需要非常有规律的拼写错误才能从矢量 space 方法中获得有用的东西。例如,可以解决的问题是美国与英国的拼写或 w8
与 wait
等完整形式的速记。
我想说明的另一点(或者您应该这样做)是您不打算在这里构建机器学习模型。您可以考虑可以生成的词嵌入,一种机器学习模型,但它不是。这只是用数字表示单词的一种方式。
您的问题已经有了答案
您自己已经指出使用 hunspell
会引入新的错误。毫无疑问,您的其他方法也是如此。如果这只是一个预处理步骤,我建议您保留它。这不是你需要证明的东西。如果出于某种原因你确实想深入研究这个问题,你可以按照@lenz 的建议通过外部任务评估你的方法的效果。
外部评估如何进行?
当一项任务太难直接评估时,我们使用另一个依赖于其输出的任务来得出关于其成功的结论。在你的情况下,你似乎应该选择一个依赖于单个单词的任务,比如文档分类。假设您有某种与文档相关联的标签,比如主题或新闻类型。预测这些标签可能是评估方法效率的合法方式。通过与 "dirty" 数据的基线进行比较,您也有机会了解它们是否弊大于利。请记住,这是关于相对差异的,任务的实际表现并不重要。