[Qualipso-a4] instalación y pruebas de las herramientas de NLP
Jose Gato Luis
jgato en libresoft.es
Mie Dic 9 00:47:50 CET 2009
El 08/12/09 18:53, Javier Pueyo escribió:
>> > He vuelto a esa versión, pero me sigue dando problemas :(
> Vaya, siento que esto te esté dando tantos problemas. El caso es que a
> mí no me salen esos warnings y estoy en la versión de NLTK:
Tranquilo, para eso tenemos las pruebas y la integración, además, tengo
mi parte de culpa por no haber tenido tiempo de probar esto antes ;)
>
>>>> >>> import nltk
>>>> >>> nltk.__version__
> '0.9.9b1'
>
> De todas formas ya veo que el problema es que yo estaba mezclando las
> salidas STDOUT y STDERR de los scripts y de ahí venían los líos. Ya he
> corregido en SVN este bug (que estaba en NLP_Process.py) y ahora STDERR
> no se mezcla con STDOUT.
Genial!!!! Arreglando este problema, he empezado a tener nuevos mensajes
de error, muy constructivos, que me indicaban módulos de perl que no
tengo instalados. Antes, estos mensajes se estarían perdiendo. Son
módulos relativos al análisis de correo, por eso tenía tantos problemas
integrando el extractor de correos ;)
Estoy analizando cientos de correos, y no estoy teniendo problemas.
>
> En cualquier caso he añadido a todos los scripts de python lo siguiente
> (en SVN):
>
> import warnings
> warnings.filterwarnings('ignore')
>
> Es cierto que debería controlar las excepciones (otro TODO), pero el
> caso es que los problemas los estábamos teniendo con los warnings de
> Deprecation de funciones de NLTK y no con excepciones.
Tenemos que ver, como capturar warnings y excepciones. Ahora mismo, he
encontrado un problema, cuando no encuentra entidades, suelta la
siguiente excepción:
Traceback (most recent call last):
File
"/home/jgato/proyectos/Qualipso/A4/svn/qualipso/private/work/A4/3rdIteration/src/jpueyo/floss_nlp/NLP_POST/floss_item_classifier.py",
line 216, in <module>
(topics, extracted_entities_clean) = classify_item(doc_item)
File
"/home/jgato/proyectos/Qualipso/A4/svn/qualipso/private/work/A4/3rdIteration/src/jpueyo/floss_nlp/NLP_POST/floss_item_classifier.py",
line 210, in classify_item
topic = classifier.classify(item_features(item_info,dictionary_info))
File "/usr/lib/python2.5/site-packages/nltk/classify/naivebayes.py",
line 89, in classify
return self.prob_classify(featureset).max()
File "/usr/lib/python2.5/site-packages/nltk/classify/naivebayes.py",
line 122, in prob_classify
return DictionaryProbDist(logprob, normalize=True, log=True)
File "/usr/lib/python2.5/site-packages/nltk/probability.py", line
623, in __init__
value_sum = sum_logs(self._prob_dict.values())
File "/usr/lib/python2.5/site-packages/nltk/probability.py", line
1776, in sum_logs
return reduce(add_logs, logs[1:], logs[0])
AttributeError: 'module' object has no attribute 'reduce'
Habrá que detectar el momento, en el que no se detectan entidades, para
que no ocurra. De todos modos, he hecho un "apaño", en la función
str_to_list, compruebo si la cadena es vacía y devuelvo [], he subido el
cambio al svn. Aunque esta soltando esta excepción, el programa no se
detiene, y estoy haciendo las primeras pruebas serias, con buenos
resultados.
Javier, vamos muy bien, muchas gracias ;)
--
José Gato Luis | Libre Software Engineering Lab (GSyC)
Tel: (+34)-914 888 105 | Universidad Rey Juan Carlos
jgato en libresoft.es | Edif. Departamental II - Despacho 121
http://libresoft.urjc.es/ | c/Tulipán s/n 28933 Móstoles (Madrid)
More information about the Qualipso-a4
mailing list