0

pythonスクリプトを自分のpandorabot書いたに統合したいと思いaimlます。

aimlで構文にタグを付けることができることは知っていますが、 (範囲外の) タグを使用し、バックグラウンドでサービスを実行している以下を除いて、javascriptに関するドキュメントは見つかりませんでした:python<oob>

<oob>
  <mrl>
    <service>python</service>
    <method>exec</method>
    <param>myfuction()<param>
  </mrl>
</oob>

<mrl>タグはmyrobot labの略でprogram-abjava framework実際のロボット工学の の一部です。

appしかし、私はウェブ上でのみ使用したい...

私も出会いましpyAimlたが、今のところ、それが私の目標を達成するのにどのように役立つかわかりません.

私の目標:

巨大な文学コーパスを扱う自然言語ツールキット( http://www.nltk.org/python )を操作するので使いたいし、このライブラリを自分のボット機能に統合したい。NLTK

私が持っている<pattern>PYTHON</pattern>としましょう、そしてそれはpythonスクリプトを実行します。

スクリプトは、順番にimport nltk(およびそのコーパス)、 AIMLpatternsまたは「質問」を PYTHONtemplatesまたは「回答」にリンクしますか?

どうすればこれを達成できるかについての手がかりはありますか? よろしくお願いします。

4

1 に答える 1

2

私は、pandorabots と組み合わせて Python を使用した経験はありませんが、PHP を使用したことはあります。これが概念的に思いついたものです。目的は似ていましたが、私の場合、外部 API からの pandorabot 応答の情報を追加する必要があり、次のようにしました。

記号/区切り記号を
1 に使用しました。変更が必要な応答にフラグを立てます。
2. デリミタを使用して、応答を変更する必要がある部分と変更しない部分に分割しました。
3.私の場合、変更可能な部分は、関数が既に定義されているphp関数呼び出しでした。
4.次に、API からの応答を変更されていないボット応答と組み合わせて、クライアントにレンダリングしました。

最終的な出力は、基本的に aiml 応答を php 呼び出しに変換できたというものでした。


例:
私の場合、応答を変更可能としてマークするために、応答の先頭に「#」を使用しました。「%」を使用して、変更したいセグメントの開始と終了をマークし、「,」を使用してセグメントを区切りました。関数呼び出し、およびパラメーター。

したがって、保存された aml 応答は次のようになります。

<template>#Response to be modified %method call,param1% continued response.</template>

アルゴリズム:

 So for every response,check if it contains a # at the beginning,  
  If it does, remove the #   (for php I used substr ($response,1) )
   Extract the function call (for php I used explode($str, '%') ) 
    Process function call.

同様のロジックを使用してクエリを抽出し、nltk に送信できると思います。お役に立てれば。

于 2016-09-01T09:44:28.623 に答える