Machine learning 如何解释使用歌词生成单词嵌入/Word2Vec时拼写的差异(尤其是俚语)?

Machine learning 如何解释使用歌词生成单词嵌入/Word2Vec时拼写的差异(尤其是俚语)?,machine-learning,nlp,word2vec,text-classification,spelling,Machine Learning,Nlp,Word2vec,Text Classification,Spelling,因此,我正在进行一个艺术家分类项目,该项目利用genius.com上的嘻哈歌词。问题是这些歌词是由用户生成的,所以同一个词可以用不同的方式拼写,特别是如果它是俚语,这在嘻哈音乐中是很常见的 我研究了使用hunspell/pyhunspell进行拼写更正,但问题是它不能修复俚语拼写错误。从技术上讲,我可以制作一本包含大量拼写错误变体的迷你字典,但这实际上是无用的,因为在我(不断增长的)6000首歌曲语料库中,同一个单词可能有十几种变体 有什么建议吗?你可以试着克制自己的言辞。有关词干分析的更多信息

因此,我正在进行一个艺术家分类项目,该项目利用genius.com上的嘻哈歌词。问题是这些歌词是由用户生成的,所以同一个词可以用不同的方式拼写,特别是如果它是俚语,这在嘻哈音乐中是很常见的

我研究了使用hunspell/pyhunspell进行拼写更正,但问题是它不能修复俚语拼写错误。从技术上讲,我可以制作一本包含大量拼写错误变体的迷你字典,但这实际上是无用的,因为在我(不断增长的)6000首歌曲语料库中,同一个单词可能有十几种变体


有什么建议吗?

你可以试着克制自己的言辞。有关词干分析的更多信息。这将有助于将拼写相近的单词组合在一起


一个流行的词干分析方案是Porter词干分析程序,它可以在大多数NLP包中找到,例如,

如果可能的话,我会丢弃短词或缩略词,因为它们太难自动更正(条件是检查它不会影响最终结果)

对于较长的单词,您可能需要使用Levenshtein距离或Jaro相似性等指标。第一个是将一个候选词转换为另一个候选词所需的最少添加、删除或替换次数。第二个,提供了一个类似的结果,介于0和1之间,并且在单词的最后几个字符中更加强调

如果你能找到你的俚语单词的正确版本,你可以把最接近的候选词转换成正确的。当然,尽量不要把它用在不同的正确单词上


如果您使用的是Python,则会提供一些实现。

因此,从我的理解来看,porter stemmer可能有点过于激进?这是真的吗?此外,柠檬化是否有效?如果一开始单词拼写错误,柠檬化就不起作用,因为它通常与字典匹配。还有其他各种各样的词干分析器,例如,可以尝试。请注意,它越“激进”,就越能帮助您解决这些边缘问题。