sql >> Base de Datos >  >> RDS >> Mysql

mysql - índice de texto completo - ¿Qué es el modo de lenguaje natural?

Las búsquedas de texto completo en lenguaje natural de MySQL tienen como objetivo hacer coincidir las consultas de búsqueda con un corpus para encontrar las coincidencias más relevantes. Supongamos que tenemos un artículo que contiene "Me encanta el pastel" y tenemos los documentos d1, d2, d3 (la base de datos en su caso). Los documentos 1 y 2 tratan sobre deportes y religión respectivamente, y el documento 3 trata sobre comida. Su consulta,

Devolverá d3, y luego d2, d1 (orden aleatorio de d2, d1 dependiendo de cuál es más igual al artículo) porque d3 coincide mejor con el artículo.

El algoritmo subyacente que usa MYSQL es probablemente el algoritmo tf-idf, donde tf significa frecuencia de término e idf para frecuencia de documento inversa. tf es como dice, solo el número de veces que aparece una palabra w en el artículo en un documento. idf se basa en cuántos documentos aparece la palabra. Entonces, las palabras que aparecen en muchos documentos no contribuyen a decidir cuál es el documento más representativo. El producto de tf*idf produce una puntuación, cuanto más alta, mejor representa la palabra un documento. Entonces, 'pastel' solo aparecerá en el documento d3 y, por lo tanto, tendrá un tf alto y un idf alto (ya que es lo contrario). Mientras que 'the' tendrá un tf alto pero un idf bajo, lo que hará que el tf sea un evento y dará una puntuación baja.

El modo de lenguaje natural de MYSQL también viene con un conjunto de palabras vacías (the, a, some, etc.) y elimina las palabras que tienen menos de 4 letras. Que se puede ver en el enlace que proporcionó.