python - 检测外来词

标签 python nlp n-gram

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

如果你对我到目前为止的内容感兴趣,代码就在这里: https://github.com/arashsa/language-detection.git

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

你们有什么建议、阅读 Material 、我可能会使用的 NLP 方法吗?

最佳答案

如果您的方法返回两种语言中存在的单词,而您只想返回一种语言中存在的单词,您可能想要创建一个列表,其中包含语言 A 和一种语言中的 one-grams -grams in language B,然后删除两者中的单词。然后,如果您愿意,可以继续进行二元分析。

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

关于python - 检测外来词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27191457/

相关文章:

jquery - 当 Tornado 应用程序的多个实例在数据库中插入项目时,如何避免在 MongoDB 中重复插入?

python - 我们如何隐藏轴 matplotlib 中的第一个零

performance - 从大文件中访问 n 元词频率

python - 从二元语法列表中删除一元语法

python - 如何确保 PyTorch 已释放 GPU 内存?

Python字典深拷贝

machine-learning - 求 Weka 中实例分类的概率

python - NLTK 无法找到 gs 文件

python - 使用 python 查找希腊语中的单词类别(POS 标签)

elasticsearch - 如何使较短(较近)的 token 匹配更相关? (edge_ngram)