stringtranslate.com

Incrustación de oraciones

En el procesamiento del lenguaje natural , una incrustación de oraciones se refiere a una representación numérica de una oración en forma de un vector de números reales que codifica información semántica significativa. [1] [2] [3] [4] [5] [6] [7]

Las incrustaciones de última generación se basan en la representación de capa oculta aprendida de modelos dedicados de transformadores de oraciones. BERT fue pionero en un enfoque que implica el uso de un token [CLS] dedicado antepuesto al comienzo de cada oración ingresada en el modelo; el vector de estado oculto final de este token codifica información sobre la oración y se puede ajustar para su uso en tareas de clasificación de oraciones. Sin embargo, en la práctica, la incrustación de oraciones de BERT con el token [CLS] logra un rendimiento deficiente, a menudo peor que simplemente promediar incrustaciones de palabras no contextuales. SBERT logró más tarde un rendimiento superior de incrustación de oraciones [8] al ajustar las incrustaciones de token [CLS] de BERT mediante el uso de una arquitectura de red neuronal siamesa en el conjunto de datos SNLI.

Otros enfoques se basan vagamente en la idea de la semántica distributiva aplicada a las oraciones. Skip-Thought entrena una estructura de codificador-descodificador para la tarea de predicción de oraciones vecinas. Aunque se ha demostrado que esto logra un peor rendimiento que enfoques como InferSent o SBERT.

Una dirección alternativa es agregar incrustaciones de palabras, como las devueltas por Word2vec , en incrustaciones de oraciones. El enfoque más sencillo es simplemente calcular el promedio de vectores de palabras, conocido como bolsa de palabras continua (CBOW). [9] Sin embargo, también se han propuesto soluciones más elaboradas basadas en la cuantificación de vectores de palabras. Uno de estos enfoques es el vector de incrustaciones de palabras agregadas localmente (VLAWE), [10] que demostró mejoras de rendimiento en tareas de clasificación de texto posteriores.

Aplicaciones

En los últimos años, la incrustación de oraciones ha despertado un creciente interés debido a sus aplicaciones en bases de conocimiento consultables en lenguaje natural mediante el uso de indexación vectorial para búsqueda semántica. LangChain, por ejemplo, utiliza transformadores de oraciones con el fin de indexar documentos. En particular, se genera una indexación generando incrustaciones para fragmentos de documentos y almacenando tuplas (fragmento de documento, incrustación). Luego, dada una consulta en lenguaje natural, se puede generar la incrustación para la consulta. Luego, se utiliza un algoritmo de búsqueda de similitud top k entre la incrustación de la consulta y las incrustaciones de fragmentos de documentos para recuperar los fragmentos de documentos más relevantes como información de contexto para tareas de respuesta a preguntas . Este enfoque también se conoce formalmente como generación aumentada por recuperación [11].

Aunque no son tan predominantes como BERTScore, las incrustaciones de oraciones se utilizan comúnmente para la evaluación de similitud de oraciones, que se utiliza comúnmente para la tarea de optimizar los parámetros de generación de un modelo de lenguaje grande , que a menudo se realiza mediante la comparación de oraciones candidatas con oraciones de referencia. Al usar la similitud de coseno de las incrustaciones de oraciones de las oraciones candidatas y de referencia como función de evaluación, se puede utilizar un algoritmo de búsqueda en cuadrícula para automatizar la optimización de hiperparámetros [ cita requerida ] .

Evaluación

Una forma de probar las codificaciones de oraciones es aplicarlas al corpus de Oraciones que Implican Conocimiento Compositivo (SICK) [12] tanto para implicación (SICK-E) como para relación (SICK-R).

En [13] los mejores resultados se obtienen utilizando una red BiLSTM entrenada en el Corpus Stanford Natural Language Inference (SNLI). El coeficiente de correlación de Pearson para SICK-R es 0,885 y el resultado para SICK-E es 86,3. Una ligera mejora con respecto a las puntuaciones anteriores se presenta en: [14] SICK-R: 0,888 y SICK-E: 87,8 utilizando una concatenación de Gated recurrent unit bidireccional .

Véase también

Enlaces externos

Referencias

  1. ^ Barkan, Oren; Razin, Noam; Malkiel, Itzik; Katz, Ori; Caciularu, Avi; Koenigstein, Noam (2019). "Modelado escalable de pares de oraciones atentivas mediante incrustación de oraciones destiladas". arXiv : 1908.05161 [cs.LG].
  2. ^ Lo mejor de las incrustaciones de palabras y oraciones universales actuales
  3. ^ Cer, Daniel; Yang, Yinfei; Kong, Sheng-yi; Hua, Nan; Limtiaco, Nicole; John, Rhomni St.; Constant, Noah; Guajardo-Cespedes, Mario; Yuan, Steve; Tar, Chris; Sung, Yun-Hsuan; Strope, Brian; Kurzweil, Ray (2018). "Codificador universal de oraciones". arXiv : 1803.11175 [cs.CL].
  4. ^ Wu, Ledell; Fisch, Adam; Chopra, Sumit; Adams, Keith; Bordes, Antoine; Weston, Jason (2017). "StarSpace: ¡Integra todas las cosas!". arXiv : 1709.03856 [cs.CL].
  5. ^ Sanjeev Arora, Yingyu Liang y Tengyu Ma. "Una línea de base simple pero difícil de superar para la incrustación de oraciones", 2016; openreview:SyK00v5xx.
  6. ^ Trifan, Mircea; Ionescu, Bogdan; Gadea, Cristian; Ionescu, Dan (2015). "Un método de procesamiento de señales digitales de gráficos para el análisis semántico". 2015 IEEE 10th Jubilee International Symposium on Applied Computational Intelligence and Informatics . págs. 187–192. doi :10.1109/SACI.2015.7208196. ISBN 978-1-4799-9911-8.S2CID 17099431  .
  7. ^ Basile, Pierpaolo; Caputo, Annalina; Semeraro, Giovanni (2012). "Un estudio sobre la semántica compositiva de palabras en espacios distributivos". Sexta Conferencia Internacional sobre Computación Semántica del IEEE de 2012. págs. 154–161. doi :10.1109/ICSC.2012.55. ISBN 978-1-4673-4433-3.S2CID 552921  .
  8. ^ Reimers, Nils; Gurevych, Iryna (2019). "Sentence-BERT: incrustaciones de oraciones utilizando redes BERT siamesas". arXiv : 1908.10084 [cs.CL].
  9. ^ Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey (6 de septiembre de 2013). "Estimación eficiente de representaciones de palabras en el espacio vectorial". arXiv : 1301.3781 [cs.CL].
  10. ^ Ionescu, Radu Tudor; Butnaru, Andrei (2019). "Vector de incrustaciones de palabras agregadas localmente (". Actas de la Conferencia de 2019 del Norte . Minneapolis, Minnesota: Asociación de Lingüística Computacional. págs. 363–369. doi :10.18653/v1/N19-1033. S2CID  85500146.
  11. ^ Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich; Lewis, Mike; Yih, Wen-tau; Rocktäschel, Tim; Riedel, Sebastian; Kiela, Douwe (2020). "Generación aumentada por recuperación para tareas de PNL intensivas en conocimiento". arXiv : 2005.11401 [cs.CL].
  12. ^ Marco Marelli, Stefano Menini, Marco Baroni, Luisa Bentivogli, Raffaella Bernardi y Roberto Zamparelli. "Una cura ENFERMA para la evaluación de modelos semánticos distributivos compositivos". En LREC, págs. 216-223. 2014 [1].
  13. ^ Conneau, Alexis; Kiela, Douwe; Schwenk, Holger; Barrault, Loic; Bordes, Antoine (2017). "Aprendizaje supervisado de representaciones de oraciones universales a partir de datos de inferencia de lenguaje natural". arXiv : 1705.02364 [cs.CL].
  14. ^ Subramanian, Sandeep; Trischler, Adam; Bengio, Yoshua; Christopher J Pal (2018). "Aprendizaje de representaciones de oraciones distribuidas de propósito general mediante aprendizaje multitarea a gran escala". arXiv : 1804.00079 [cs.CL].