Detectando palabras extranjeras

Estoy escribiendo un guión para detectar palabras de un idioma B en un idioma A. Los dos idiomas son muy similares y pueden tener instancias de las mismas palabras.

El código está aquí si está interesado en lo que tengo hasta ahora: https://github.com/arashsa/language-detection.git

Explicaré mi método aquí: creo una lista de bigtwigs en el idioma B, una lista de bigtwigs en el idioma A (pequeño corpus en el idioma B, gran cuerpo en el idioma A). Luego elimino todos los bigtwigs que son comunes. Luego reviso el texto en el idioma A y, utilizando los bigtwigs, los detecto en el idioma A y los guardo en un archivo. Sin embargo, este método encuentra muchas palabras que son comunes para ambos idiomas, y también encuentra bigtwigs extraños como el nombre de dos países adyacentes entre sí, y otras anomalías.

¿Alguno de ustedes tiene sugerencias, material de lectura, métodos de PNL que pueda usar?

Si su método devuelve palabras presentes en ambos idiomas y solo desea devolver las palabras que existen en un idioma, es posible que desee crear una lista de un gramo en el idioma A y uno gramos en el idioma B, y luego eliminar la palabras en ambos. Luego, si lo desea, puede proceder con el análisis de bigtwig.

Dicho esto, hay algunas buenas herramientas en Python para la identificación del idioma. He encontrado que lang-id es uno de los mejores. Viene entrenado previamente con clasificadores de idiomas para más de 90 idiomas, y es bastante fácil de entrenar para otros idiomas si lo desea. Aquí están los documentos . También hay lenguaje de adivinanzas , pero no funciona tan bien en mi estimación. Dependiendo de qué tan localizados estén los bits del idioma extranjero, puede intentar dividir sus textos en un nivel apropiado de granularidad y ejecutar esos fragmentos a través de (por ejemplo) el clasificador de langid.