El significado como proximidad: la búsqueda semántica
Los vectores también sirven para encontrar un documento por su significado, sin compartir una sola palabra con la pregunta.
ObjetivoExplicar cómo funciona una búsqueda por similitud y qué la distingue de una búsqueda por palabras clave.
Lo que vale para una palabra vale para una frase o un párrafo. Un modelo puede producir un vector para un pasaje entero, que resume su significado. Dos pasajes que hablan de lo mismo con palabras distintas obtienen vectores cercanos.
Es la base de la búsqueda semántica. Se calcula de antemano un vector para cada pasaje de sus documentos. Cuando usted hace una pregunta, se calcula su vector y se buscan los pasajes más cercanos, en general mediante la similitud del coseno, que mide el ángulo entre dos vectores.
Búsqueda por palabras clave: «rescisión» no encuentra un contrato que habla de «terminación anticipada del mandato».
Búsqueda semántica: la pregunta sobre la rescisión encuentra el pasaje sobre la terminación anticipada, porque los dos significados son cercanos.
La proximidad se refiere al significado, no a las palabras exactas.
Sus límites
- Puede devolver un pasaje cercano por el tema pero erróneo en el punto concreto, por ejemplo otro artículo del mismo contrato.
- Las cifras, las fechas y las referencias exactas se encuentran mejor por palabras clave. Los buenos sistemas combinan ambos métodos.
- La calidad depende de cómo se dividan los documentos en pasajes.
Referencias
- Mikolov, Chen, Corrado et al. (2013). Efficient Estimation of Word Representations in Vector Space. Prepublicación en arXiv. arxiv.org/abs/1301.3781
- Devlin, Chang, Lee et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL-HLT 2019, p. 4171–4186. doi.org/10.18653/v1/N19-1423