with tutorial seq2seq neural network machine learning guide example tensorflow language-model

tutorial - Uso del marcador de haz personalizado en TensorFlow CTC(modelo de lenguaje)



tensorflow tutorial pdf (1)

¿Es posible personalizar el marcador de haz en la implementación de CTC de TensorFlow desde el lado de Python? Veo esta posibilidad en el comentario para CTCBeamSearchDecoder constructor de la clase C ++, pero me pregunto cómo proporcionar esta funcionalidad para los usuarios de Python.

El problema específico que tenemos es la conexión del modelo de lenguaje al descodificador de voz basado en CTC. El modelo de lenguaje puede ser un sub-gráfico TensorFlow preentrenado, capaz de generar probabilidades para el ajuste de la puntuación de la viga. Pero necesitamos una forma de inyectar esto en el marcador de la viga.


Actualmente, no hay API para que Python use el modelo de idioma con un marcador personalizado. Las contribuciones son bienvenidas, pero hay algunas dificultades para hacer esto posible en la API de Python, ya que requeriría ejecutar el subgrupo TF LM en una sesión independiente dentro del decodificador, y esas no se combinarían muy bien.

La forma más fácil de hacerlo es en C ++ y requiere extender la clase BaseBeamScorer junto con BeamState (similar a lo que se puede ver en las pruebas) y ejecutar CTCBeamSearchDecoder :: Decode sobre las salidas del gráfico de tensorflow que normalmente entraría el ctc_beam_search_decoder op.

Al hacer esto, su implementación de BeamScorer podría hacer uso de cualquier modelo de lenguaje que tenga a mano y simplemente necesita devolver los puntajes apropiados al expandir el haz de un estado a otro.