langdist es un proyecto de Python para experimentar el modelado de lenguaje multilingüe a nivel de personaje , que es ver cómo aprender un modelo de lenguaje a nivel de personaje en un idioma ayuda a aprender otro modelo de idioma a nivel de personaje en un idioma diferente. El proyecto aún está en desarrollo y puede ofrecer una funcionalidad limitada.
langdist depende de los paquetes Numpy y Scipy, Python para la informática científica. Es posible que deba instalarlos antes de instalar langdist .
Puede instalar langdist por:
pip install langdist Esto instala el paquete langdist en su Python, así como al comando langdist y lo agrega a su PATH .
langdist también depende del paquete tensorflow . En predeterminado, intenta instalar la versión solo de CPU de tensorflow . Si desea usar GPU, debe instalar tensorflow con soporte de GPU usted mismo. (CF Instalación de TensorFlow)
Después de instalar, langdist --help imprimirá la ayuda de cómo usar el comando langdist .
langdist implementa un comando para descargar y preprocesar un corpus del corpus paralelo de la Biblia multilingüe. El siguiente comando descargará un corpus de inglés y lo guardará ./en_corpus.pkl .
langdist download-bible en en_corpus.pkl Tenga en cuenta que en aquí es el código de idioma de inglés. Especificar un código de idioma no válido generará un mensaje de error que muestra los códigos de idioma válidos.
Debe colocar un codificador al personaje utilizado en los corpus antes de entrenar un modelo de idioma en ellos. Tenga en cuenta que se utilizará el mismo codificador cuando entrene un nuevo modelo de idioma además de otro modelo de idioma ( modelo de lenguaje multilingüe ). Por lo tanto, debe colocar un codificador a todos los corpus en los que capacitará a los modelos de lenguaje multilingüe.
El siguiente comando se ajustará a un codificador a corpus en inglés, francés y japonés y lo guardará ./en_fr_ja_encoder.pkl :
langdist fit-encoder en_fr_ja_encoder.pkl en_corpus.pkl fr_corpus.pkl ja_corpus.pkl Tenga en cuenta que xx_corpus.pkl es un archivo de encurtido de un corpus, que puede ser generado por el comando langdist download-bible . También puede crear una lista de textos por usted mismo y guardarlo en un archivo de encurtido. (Cada elemento de la lista correspondería a un segmento como oración, párrafo, artículo, etc. dependiendo de su propósito).
El siguiente comando capacitará a un modelo de idioma francés y lo guardará en el directorio ./fr_model :
langdist train fr_corpus.pkl en_fr_ja_encoder.pkl fr_model --patience=819200 --logpath=fr.log Tenga en cuenta que usar un codificador que no fuera ajustado para el corpus lanzará una excepción. -La opción --patience especifica cuántas iteraciones desea mantener la capacitación y la opción --logpath especifica la ruta al archivo de registro que registra el progreso de la capacitación (no se creará ningún archivo de registro si no especifica la opción).
Durante la capacitación, se arrojan varias estadísticas a path_to_model_dir/tensorboard.log Directory. Puede visualizarlos usando tensorboard por tensorboard --logdir=path_to_model_dir/tensorboard.log . El modelo se guarda cada vez después de calcular la perplejidad de la validación y está disponible para usar antes de terminar la capacitación.
Verifique la salida de langdist --help para saber qué otras opciones están disponibles para capacitar a un modelo de idioma.
El siguiente comando capacitará a un modelo de idioma inglés además del modelo de idioma francés que hemos entrenado y lo hemos guardado en el directorio fr2en_model :
langdist retrain fr_model en_corpus.pkl fr2en_model --patience=819200 --logpath=langdist.log Tenga en cuenta que no tiene que especificar la ruta a un codificador porque el modelo en fr_model lo incluye. Si el codificador que se usó al entrenar fr_model no era adecuado para los personajes en en_corpus.pkl , lanzará una excepción.
Durante la capacitación, se arrojan varias estadísticas a path_to_model_dir/tensorboard.log Directory. Puede visualizarlos usando tensorboard por tensorboard --logdir=path_to_model_dir/tensorboard.log . El modelo se guarda cada vez después de calcular la perplejidad de la validación y está disponible para usar antes de terminar la capacitación.
Verifique la salida de langdist --help para saber qué otras opciones están disponibles para capacitar a un modelo de idioma.
Una vez que haya capacitado a un modelo de idioma, el siguiente comando generará textos utilizando el modelo de idioma entrenado:
langdist generate fr2en_model --sample-num=50 -La opción --sample-num decide el número de textos para generar. Tenga en cuenta que cada texto es generado de forma independiente (muestras) por el modelo de idioma.
Verifique la salida de langdist --help para saber qué otras opciones están disponibles para capacitar a un modelo de idioma.
langdist de Python langdist se puede usar como un paquete Python normal importando el paquete langdist , que se instala en su entorno Python por pip install langdist . Leer langdist/cli.py es una buena manera de descubrir cómo usar el paquete.
El modelo de idioma se implementa utilizando LSTM multicapa a nivel de personaje. La arquitectura es más o menos como sigue:
Para los detalles, mire el método _build_graph() en langdist/langmodel.py , que implementa el gráfico computacional de la arquitectura en tensorflow .
TODO: Agregue un enlace a la publicación de blog Modelado de lenguaje neuronal a nivel de caracteres bilingües