2016-06-04 15 views
0

Ich arbeite an einem AIML-Projekt für Freizeit und stieß auf Pandorabots. Ich frage mich, ob es eine Möglichkeit gibt, eine Variable von den Benutzereingaben in andere Sprachen (in diesem Fall Python) oder ein Framework zu parsen, so dass wir weitere Manipulation durch andere APIs von Drittanbietern mit Hilfe von Templating vornehmen können.AIML - Benutzereingaben als Variable nach Python analysieren

Zum Beispiel möchte ich ein Datum vom Benutzer erhalten und dann in die Google Kalender-API einspeisen. Gibt es eine Möglichkeit, die Variable 'date' zu extrahieren und sie in Python (oder anderen Sprachen) in der Google Kalender-API zu analysieren?

<category><pattern># 1 MAY 2016 #</pattern> 
    <think>{{ date }}</think> #is there a way to parse "1 May 2016" as a 
           #variable date in python? 
    <template>... 
    </template> 
</category> 

Letztlich das Ziel, das ich zu erreichen versuche, würde ein Gespräch etwas wie dieses:

User: Hi bot, could you check if I am available on 1 May 2016? 
Bot: Nope, you have a gathering at Mike's! #(<--- Response rendered after 
         checking user's schedule on 1 May via google calendar) 

I Template-Engine wie Schnurrbart erforscht, aber anscheinend ist es nicht zu AIML (oder besser gesagt xml) sprechen . Gibt es jemanden, der mich auf ein gutes Beispiel/Tutorial hinweisen kann, das mir helfen kann, anzufangen?

ps: Ich verwende pandorabots API und python2.7

Antwort

1

Im pyAIML API, suchen Sie nach dem Stichwort "Prädikate":

  • kernel.getPredicate ('date')
  • kernel.getBotPredicate ('dat')

es gibt das Prädikat, das eingestellt wurde unter Verwendung von

<set name="date"><star/></set> 

Dann können Sie es einfach mit Python analysieren.

Aber das bringt mich näher auf die Frage: Wofür brauche ich AIML? Was ist der Mehrwert von AIML hier?

0

Ich suchte auch Informationen für solche ähnliche Frage. Mit Hilfe der Antwort von @Berry Tsakala ... konnte ich eine Lösung für mein Problem finden. Hier ist eine detaillierte und verbesserte Version des obigen Beispiels Fall ..., dass für andere nützlich sein könnte, die gleiche Frage mit ...

<category><pattern>Hi bot, could you check if I am available on *</pattern> 
<template>Let me check your schedules on <set name="date"><star/></set> 
</template> 
</category> 

Dann in Ihrem Python-Skript Sie es in eine Variable als speichern,

Fühlen Sie sich frei, irgendwelche Korrekturen an der Antwort zu machen, wenn Sie irgendwelche Fehler finden, oder wenn es irgendwelche Verbesserungen benötigt. Ich hoffe, Sie finden es nützlich :)

Verwandte Themen