+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: &quot;eso que es&quot;=&quot;que es&quot; 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">&lt;<a href="mailto:lasizoillo@gmail.com">lasizoillo@gmail.com</a>&gt;</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 &lt;<a href="mailto:chakalinux@gmail.com">chakalinux@gmail.com</a>&gt; escribió:<br>
<div class="im">&gt; Tan mal me explico ? a ver. quería buscar una cadena teniendo en cuenta unos<br>
&gt; patrones, los patrones pueden variar su orden (a, b, c OR b, c, a OR c, b ,a<br>
&gt; [...]) peor ya lo he resuelto.<br>
&gt;<br>
&gt; Es un programa para el irc que conecta a una base de datos sqlite3 y<br>
&gt; responde según la pregunta, por ejemplo:<br>
&gt;<br>
&gt; pepito: Que es ubuntu?<br>
&gt; bot: pepito, <a href="http://es.wikipedia.org/wiki/Ubuntu" target="_blank">http://es.wikipedia.org/wiki/Ubuntu</a><br>
&gt;<br>
&gt; La respuesta del bot es automática, en este caso los patrones son: &quot;que es<br>
&gt; ubuntu&quot;, si el usuario pepito hubiera preguntado:<br>
&gt;<br>
&gt; pepito: ubuntu ... y eso que es ?<br>
&gt;<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>