A la question
qui est mitterrand
voici le message erreur :
——Traceback (most recent call last): File string, line 1, in moduleTypeError: askWiki() takes exactly 3 arguments (1 given) at org.python.core.Py.TypeError(Py.java:259) at org.python.core.PyBaseCode.call(PyBaseCode.java:2
on voit que la procédure attends 3 arguments :
def askWiki(query,question,retour): # retourne la description du sujet (query)
#Light(1,0,0)
query = unicode(query,'utf-8')# on force le format de police UTF-8 pour prendre en charge les accents
if query[1]== "\'" : # Si le sujet contient un apostrophe , on efface tout ce qui est avant ! ( "l'été" -> "été")
query2 = query[2:len(query)]
query = query2
print query # petit affichage de contrôle dans la console python ..
word = wdf.cutStart(query) # on enlève le derminant ("le chat" -> "chat")
start = wdf.grabStart(query) # on garde que le déterminant ( je ne sais plus pourquoi j'ai eu besoin de ça, mais la fonction existe ...)
wikiAnswer = wdf.getDescription(word) # récupère la description su wikidata
answer = ( query + " est " + wikiAnswer)
if (wikiAnswer == "Not Found !") or (unicode(wikiAnswer[-9:],'utf-8') == u"Wikimédia") : # Si le document n'ai pas trouvé , on réponds "je ne sais pas"
QueryMemory(question,retour)
else:
talk(answer)
alors que le fichier AIML en envoi qu’ un
`<category><pattern>QUI EST *</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>askWiki(” <star/>”)</param>
</mrl>
</oob></template>
</category>`
Je pense qu il y a un BUG quelque part ?
De même a la question :
Quelle est la capitale de la france
fichier AIML :
<category><pattern>QUELLE EST LA * DE *</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>getProperty( "<star index="2"/>" , "<star index="1"/>" )</param>
</mrl>
</oob></template>
</category>
La proc GetProperty ne fonctionne pas on a la réponse point .
-
This topic was modified 8 years, 3 months ago by lecagnois.