+1 x <a href="http://nltk.org/book">nltk.org/book</a> ... <div><br></div><div>sino, por un bot mas sencilla, hay AIML (Artificial Intelligence Markup Language), pero sobre todo reversedAIML (<a href="http://charlix.sourceforge.net/">http://charlix.sourceforge.net/</a>)que tiene otros ideas interesantes. Puedes crear patrones (ie: "eso que es"="que es" antes de substantivo precedente.) <a href="http://pyaiml.sourceforge.net/">http://pyaiml.sourceforge.net</a> existe como compilidor de AIML, y <a href="http://howie.sourceforge.net/">http://howie.sourceforge.net/</a> es un opensource AIML chatbot en python si quieres ver ideas de codigo. Todos en inglés, por cierto...</div>
<div><br></div><div>Matt</div><div><div><div><div><div><br>
<br><br><div class="gmail_quote">2011/1/27 lasizoillo <span dir="ltr"><<a href="mailto:lasizoillo@gmail.com">lasizoillo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
El día 27 de enero de 2011 22:14, chakalinux <<a href="mailto:chakalinux@gmail.com">chakalinux@gmail.com</a>> escribió:<br>
<div class="im">> Tan mal me explico ? a ver. quería buscar una cadena teniendo en cuenta unos<br>
> patrones, los patrones pueden variar su orden (a, b, c OR b, c, a OR c, b ,a<br>
> [...]) peor ya lo he resuelto.<br>
><br>
> Es un programa para el irc que conecta a una base de datos sqlite3 y<br>
> responde según la pregunta, por ejemplo:<br>
><br>
> pepito: Que es ubuntu?<br>
> bot: pepito, <a href="http://es.wikipedia.org/wiki/Ubuntu" target="_blank">http://es.wikipedia.org/wiki/Ubuntu</a><br>
><br>
> La respuesta del bot es automática, en este caso los patrones son: "que es<br>
> ubuntu", si el usuario pepito hubiera preguntado:<br>
><br>
> pepito: ubuntu ... y eso que es ?<br>
><br>
<br>
</div>linux_boy: creo que ubuntu es la mejor distro para empezar<br>
bot: linux_boy, <a href="http://es.wikipedia.org/wiki/Ubuntu" target="_blank">http://es.wikipedia.org/wiki/Ubuntu</a><br>
<br>
linux_boy: tiovivo, con ubuntu no pasaría<br>
tiovivo: eso que es?<br>
linux_boy: tiovivo, mira en <a href="http://es.wikipedia.org/wiki/Ubuntu" target="_blank">http://es.wikipedia.org/wiki/Ubuntu</a><br>
<br>
El algoritmo que propones va a fallar con falsos positivos (primer<br>
ejemplo) y falsos negativos (segundo ejemplo). La gran ventaja es que<br>
es muy simple. Si te interesa el tema del procesamiento del lenguaje<br>
natural puedes echarle un vistazo al libro del nltk:<br>
<a href="http://www.nltk.org/book" target="_blank">http://www.nltk.org/book</a><br>
<br>
Para implementar tu algoritmo yo usaría sets. Es facil con ellas ver<br>
si un conjunto de palabras (ubuntu, que, es) está contenido en el<br>
conjunto de palabras del mensaje de IRC.<br>
<br>
Saludos:<br>
<br>
Javi<br>
<div><div></div><div class="h5">_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>