Pregunta

Estoy interfaz con WordNet , y algunos de los términos que me gustaría para clasificar (varios adecuada nombres) se capitalizan en la base de datos, pero la entrada de recibo no podrá ser capitalizado adecuadamente. Mi idea inicial aquí es escribir un predicado que produce las diversas capitalizaciones posibles de una entrada, pero no estoy seguro de cómo hacerlo.

¿Alguien tiene una idea de cómo ir sobre esto, o mejor aún, de una manera más eficiente para lograr lo que me gustaría hacer?

¿Fue útil?

Solución

Depende de lo que Prolog aplicación que está usando, pero puede haber funciones de la biblioteca se pueden utilizar.

por ejemplo. Del SWI-Prolog manual de referencia :

  

4.22.1 Caso de conversión

     

No hay nada en el estándar de Prolog para convertir el caso en datos textuales. El SWI-Prolog   predicados code_type / 2 y char_type / 2 puede ser utilizado para probar y convertir individuo   caracteres. Hemos comenzado un poco de apoyo adicional:

     

downcase_atom (+ anycase, -LowerCase)

     

convierte los caracteres de anycase en minúsculas como char_type / 2 no (es decir, basado en el   locale definido si Prolog ofrece soporte local en la plataforma de alojamiento) y unifica la   átomo minúsculas con minúsculas.

     

upcase_atom (+ anycase, -UpperCase)

     

Convierte, similar a downcase_atom / 2, un átomo de mayúsculas.

Dado que esto sólo downcases lo que sea que pasó a ella, puede escribir fácilmente un predicado simple de desinfectar cada entrada antes de realizar cualquier análisis.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top