Question

Je suis interface avec WordNet , et quelques-uns des termes que je voudrais classer (divers bon noms) sont capitalisés dans la base de données, mais l'entrée que je reçois ne peuvent pas être correctement capitalisé. Mon idée initiale est ici pour écrire un prédicat qui produit les différents possibles d'une capitalisation entrée, mais je ne suis pas sûr de savoir comment s'y prendre.

Quelqu'un at-il une idée de comment s'y prendre, ou mieux encore, d'une manière plus efficace de réaliser ce que je voudrais faire?

Était-ce utile?

La solution

Il dépend de ce que la mise en œuvre Prolog que vous utilisez, mais il peut y avoir des fonctions de bibliothèque que vous pouvez utiliser.

par exemple. de la SWI-Prolog manuel de référence:

  

4.22.1 conversion de cas

     

Il n'y a rien dans la norme Prolog pour la conversion en cas de données textuelles. Le SWI-Prolog   prédicats code_type / 2 et char_type / 2 peut être utilisé pour tester et convertir individuelle   personnages. Nous avons commencé un soutien supplémentaire:

     

downcase_atom (+ anycase, -LowerCase)

     

convertit les caractères en minuscules de anycase comme char_type / 2 ne (par exemple basé sur le   locale définie si Prolog prend en charge des paramètres régionaux sur la plate-forme d'hébergement) et unifie la   atome minuscule avec minuscules.

     

upcase_atom (+ anycase, -UpperCase)

     

convertit, similaire à downcase_atom / 2, un atome de majuscules.

Depuis ce juste downcases tout ce qui est passé à, vous pouvez facilement écrire un prédicat simple à désinfectez toutes les entrées avant de faire une analyse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top