【发布时间】:2020-03-14 18:02:08
【问题描述】:
我正在构建一个机器学习模型,它将处理文档并从中提取一些关键信息。为此,我需要对 OCRed 输出使用词嵌入。我有几种不同的嵌入选项(Google 的 word2vec、Stanford 的、Facebook 的 FastText),但我主要关心的是 OOV 单词,因为 OCR 输出会有很多拼写错误的单词。例如,我希望嵌入使得 Embedding 和 Emmbdding 的输出(被 OCR 遗漏)应该具有一定程度的相似性。我不太关心相关的上下文信息。
我选择了 Facebook 的 FastText,因为它也提供了 OOV 词的嵌入。我唯一关心的是嵌入的大小。 FastText 模型的向量大小为 300。有没有办法减少返回的词向量的大小(我正在考虑使用 PCA 或任何其他降维技术,但考虑到词向量的大小,它可以是一项耗时的任务)?
【问题讨论】:
-
您可以在训练模型时指定小于 300 维的向量大小 - 并且模型将按比例缩小。但是,为什么尺寸是一个问题? (您在使用常规尺寸时是否达到了系统资源限制?)
-
此外,虽然 FastText 对子词片段(字符 n-gram)的敏感性可能有助于解决 OCR 错误,但仅靠它可能还不够。相反,您可能希望应用一些其他拼写检查过程,用其他最佳猜测(基于编辑距离、相对单词频率或上下文单词)替换其他非故障语料库中不存在的单词词。
标签: data-science gensim word2vec dimensionality-reduction fasttext