algorithm nlp data-mining text-mining latent-semantic-indexing

algorithm - Conceptos de análisis semántico latente



nlp data-mining (3)

He leído sobre el uso de la Descomposición de valores singulares (SVD) para hacer un Análisis semántico latente (LSA) en un corpus de textos. He entendido cómo hacer eso, también entiendo los conceptos matemáticos de la SVD.

Pero no entiendo por qué funciona aplicando a corpúsculos de textos (creo que debe haber una explicación lingüística) . ¿Alguien podría explicarme esto desde el punto de vista lingüístico?

Gracias


Las palabras que ocurren juntas (es decir, cercanas o en el mismo documento en un corpus) contribuyen al contexto. El Análisis Semántico Latente básicamente agrupa documentos similares en un corpus basado en cuán similares son entre sí en términos de contexto.

Creo que el ejemplo y el diagrama de Word-Document en esta página ayudarán a comprender.


No hay interpretación lingüística, no hay sintaxis involucrada, no se manejan clases de equivalencia, sinónimos, homónimos, derivación, etc. Tampoco hay semántica involucrada, es solo palabras que ocurren juntas. Considere un "documento" como un carrito de compras: contiene una combinación de palabras (compras). Y las palabras tienden a ocurrir junto con palabras "relacionadas".

Por ejemplo: la palabra "droga" puede aparecer junto con cualquiera de {amor, doctor, medicina, deportes, crimen}; cada uno te señalará en una dirección diferente. Pero combinado con muchas otras palabras en el documento, su consulta probablemente encontrará documentos de un campo similar.


Supongamos que tenemos el siguiente conjunto de cinco documentos

  • d1: Romeo y Julieta.
  • d2: Julieta: ¡Oh feliz daga!
  • d3: Romeo murió por daga.
  • d4: "Vive libre o muere", ese es el lema de New Hampshire.
  • d5: ¿Sabía que New-Hampshire está en Nueva Inglaterra?

y una consulta de búsqueda: muere, daga .

Claramente, d3 debería estar en el primer lugar de la lista ya que contiene ambos dados, daga. Luego, d2 y d4 deberían seguir, cada uno con una palabra de la consulta. Sin embargo, ¿qué pasa con d1 y d5? ¿Deberían devolverse como posibles resultados interesantes a esta consulta? Como humanos, sabemos que d1 está bastante relacionado con la consulta. Por otro lado, d5 no está tan relacionado con la consulta. Por lo tanto, nos gustaría d1 pero no d5, o dicho de otra manera, queremos que d1 se clasifique por encima de d5.

La pregunta es: ¿puede la máquina deducir esto? La respuesta es sí, LSI hace exactamente eso. En este ejemplo, LSI podrá ver que el término daga está relacionado con d1 porque ocurre junto con los términos de d1 Romeo y Julieta, en d2 y d3, respectivamente. Además, el término muere se relaciona con d1 y d5 porque ocurre junto con el término d1 Romeo y el término d5 New-Hampshire en d3 y d4, respectivamente. LSI también pesará adecuadamente las conexiones descubiertas; d1 más está relacionado con la consulta

que d5 ya que d1 está conectado "doblemente" a la daga a través de Romeo y Julieta, y también está conectado para morir a través de Romeo, mientras que d5 solo tiene una conexión con la consulta a través de New-Hampshire.

Referencia: análisis semántico latente (Alex Thomo)