El código de fuente abierta del documento " Imitación de incrustaciones de palabras usando Subword RNNS " se basa en el marco de aprendizaje profundo de DyNet . A diferencia del marco de aprendizaje profundo estáticamente declarado, por ejemplo: TensorFlow , Theano , CNTK similares, un usuario debe definir primero el gráfico de cálculo ( Gráfico de cálculo ), luego la muestra se pasa a la ejecución del motor de cálculo y calcula su derivada. Para DyNet , el cálculo de la construcción FIG ( Construcción ) es sustancialmente transparente, para cualquier entrada, el usuario puede obtenerla libremente utilizando diferentes arquitecturas de red. Personalmente, creo que DyNet es realmente fácil de usar.
Introducción al modelo Mimick
Propósito: El documento " Imitación de incrustaciones de palabras usando la subpalabra RNNS " se publicó en EMNLP2017 . El propósito principal del artículo es resolver los requisitos de etiquetado de secuencias y propiedades sintácticas basadas en aplicaciones relacionadas con palabras basadas en PNL , no en el problema de vector de palabras léxico ( FUERA del vocabulario ) , del autor del artículo que describe el experimento de 23 idiomas, el efecto se mejora en aplicaciones de PNL como el etiquetado de secuencias .
A través del vector de palabras que se ha entrenado, se aprende el vector de palabras y luego el modelo BiLSTM reconstruye el vector de palabras. Dado que hay demasiadas palabras chinas, pero hay relativamente pocas palabras, si el vector de palabras se puede reconstruir a través del vector de palabras, el problema de almacenamiento se puede reducir . Además, hay demasiadas combinaciones de palabras, las palabras en el corpus de capacitación no son suficientes para cubrir todas las palabras y el contexto es diferente, las herramientas de segmentación de palabras también tienen diferencias en la segmentación de palabras, incluidas algunas palabras nuevas. La secuencia de entrada del modelo BiLSTM son todas las palabras de una palabra, y cada valor de parámetro se optimiza minimizando la distancia entre el vector de palabra predicho por el modelo y el vector de palabra original de la palabra de entrada.
Datos experimentales:
Basado en la fusión del tesauro chino en la wiki y algunos otros corpus, se utilizan alrededor de 750.000 palabras y los vectores de palabras correspondientes entrenados por word2vector como datos de entrenamiento del modelo Mimick .
Efecto experimental
Primero: Evaluar el efecto de los vectores de palabras (palabras utilizadas para el entrenamiento) reconstruidas por el modelo para la tarea de similitud de oraciones.
|
Remedios para la diarrea infantil |
A todo el mundo le encanta ver comedias |
Método original de vector de palabra Word2vector (más peso de aprendizaje) |
Remedio casero para la diarrea del bebé 0,744 |
A mucha gente le gusta ver películas de humor 0.842 |
Remedios para el resfriado infantil 0.969 |
Es una persona graciosa 0.322 |
|
Método de vector de palabras de reconstrucción de modelo Mimick (más peso de aprendizaje) |
Remedio popular para la diarrea del bebé 0.836 |
A muchas personas les gusta ver televisión humorística 0.800 |
Remedios para el resfriado infantil 0.932 |
Es una persona graciosa 0.115 |
|
La señal es fuerte y débil. |
Error de actualización de Redmi |
Método original de vector de palabra Word2vector (más peso de aprendizaje) |
La señal fluctúa hacia arriba y hacia abajo 0.864
|
Error 0.921 del sistema de actualización de Redmi |
La señal se interrumpe repentinamente 0.321
|
Cómo comprar un teléfono móvil Xiaomi 0.723 |
|
Método de vector de palabras de reconstrucción de modelo Mimick (más peso de aprendizaje) |
Señal fluctuante alta y baja 0.900
|
Error 0.962 del sistema de actualización de Redmi |
La señal se interrumpe repentinamente 0,704
|
Cómo comprar un teléfono móvil Xiaomi 0.791 |
Segundo: Evalúe la similitud entre el vector de palabra de la palabra (palabra nueva) predicho por el modelo mímico que no está en entrenamiento y el vector de palabra original de word2vector .
Más de 20.000 palabras que quedan en word2vector no se utilizan como entrenamiento del modelo de imitación. El efecto de evaluación de la selección aleatoria de algunas palabras es el siguiente:
palabra |
Similitud entre el vector de palabra original y el vector de palabra reconstruido por el modelo de imitación a través del vector de palabra |
Doctor Li
|
0,748 |
Fotógrafo |
0,768 |
Area pobre |
0,784 |
Granjero de caballos |
0.397 |
Primer infractor
|
0,771 |
Casa Bauhinia |
0,850 |
Aprende música vocal |
0,763 |
1,97 mil millones
|
0,852 |
Río Dadan |
0,849 |
52,86%
|
0,757 |
Insípido
|
0.337 |
(3) Análisis experimental
从上面的实验来看,模型还是起到了一定的作用。但也存在一些bad case,可能原因在于:利用BiLSTM模型对所有的词向量重构,包含了75万多的词,每个词向量维度200维,而且很多词之间都有相同的字,但意思却可能完全不一样,要想靠模型去完全拟合多样化的词向量分布,感觉有一定得难度。
(4) 总结
(a) 训练mimick模型的时候,模型参数细节还是很影响实验效果
(b) 当模型的记忆和拟合能力足够强的时候,完全可以不用分词,直接基于字的模型。但在本文处理中,字与字之间相关性是很大的,特征之间是不独立,为了削弱相关性,降低对词序的依赖,将句子分为若干个相关性比较弱的部分,有利于更进一步处理,也许这是分词的目的之一。用CNN模型做文本分类也是通过把若干个字组合作为特征来看。