¿Previene la derivación de sustantivos propios en PostgreSQL?

votos
2

En su entusiasmo por convertir tokens en lexemas , el motor de búsqueda de texto completo de PostgreSQL también reduce los nombres propios. Por ejemplo:

essais=> select to_tsquery('english', 'bortzmeyer');
to_tsquery 
------------
'bortzmey'

essais=> select to_tsquery('english', 'balling');
to_tsquery 
------------
'ball'
(1 row)

Al menos para la primera, ¡estoy seguro de que no está en el diccionario de inglés! ¿Cuál es la mejor manera de evitar esta derivación espuria?

Publicado el 09/12/2008 a las 21:43
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
4

El objetivo de los algoritmos de derivación no es reducir cada palabra a su raíz apropiada; el objetivo es reducir las palabras que son parecidas a una forma de raíz común. En general, el objetivo no es obtener una palabra que pueda presentarse al usuario: incluso si 'balling' y 'ball' producen 'kjebnkkekaa', el algoritmo es correcto porque todavía considera que 'balling' y 'ball' conciernen generalmente la misma cosa.

También tenga en cuenta que ningún algoritmo de derivación es absolutamente perfecto, para obtener más información, busque el algoritmo Porter Stemming

Respondida el 09/12/2008 a las 22:12
fuente por usuario

votos
2

Eso es debido a la bola de bolas de Snowball como se explica aquí . Básicamente, querrás deshabilitar la lentitud Snowball y usar solo iSpell o uno de los otros diccionarios, pero eso también reduciría la eficiencia de derivación para las palabras que no están en los diccionarios.

Respondida el 09/12/2008 a las 22:21
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more