检测外来词

时间:2014-11-28 15:08:39

标签: python nlp n-gram

我正在编写一个脚本来检测语言A中语言B的单词。这两种语言非常相似,可能有相同单词的实例。

如果您对我目前所拥有的内容感兴趣,那么代码就在这里: https://github.com/arashsa/language-detection.git

我将在这里解释我的方法: 我创建了一个语言B中的双字母列表,一个语言A中的双字母组合列表(语言B中的小语料库,语言A中的大语料库)。然后我删除所有常见的双字母组合。然后我浏览语言A中的文本,并使用bigrams我在语言A中检测这些文本并将它们存储在一个文件中。然而,这种方法找到了两种语言共有的许多单词,并且它还发现了奇怪的双字母,例如彼此相邻的两个国家的名称,以及其他异常。

您是否有任何建议,阅读材料,我可能会使用的NLP方法?

1 个答案:

答案 0 :(得分:3)

如果您的方法返回两种语言中的单词,并且您只想返回以一种语言存在的单词,则可能需要在语言A中创建一个一克的列表,并且 - 语言B中的-grams,然后删除两者中的单词。然后,如果您愿意,可以继续进行二元分析。

也就是说,Python中有一些用于语言识别的好工具。我发现lang-id是最好的之一。它预装了90多种语言的语言分类器,如果您愿意,可以很容易地训练其他语言。这是docs。还有guess-language,但在我的估算中它并没有表现出色。根据外语位的本地化程度,您可以尝试以适当的粒度级别对文本进行分块,并通过(例如)langid的分类器运行这些块。