3

AIML で、同じパターンに一致する複数のファイルがある場合、1 つのファイルでの一致を優先するにはどうすればよいですか?

4

3 に答える 3

1

Alice のサイトには、優先度の決定方法に関する次の注意事項があります。

  1. すべてのノードで、"_" の優先度が 1 位、アトミック ワード マッチの優先度が 2 番目、"*" マッチの優先度が最も低くなります。

  2. パターンはアルファベット順に並べる必要はありません。"_" が単語の前に来て "*" が単語の後に来るように、部分的に並べるだけです。

  3. マッチングは単語単位であり、カテゴリ単位ではありません。

  4. このアルゴリズムは、入力パターン、パターン、およびパターンを単一の「パス」または「PATTERN THAT TOPIC」などの文に結合し、トークンを通常の単語のように扱います。PATTERN、THAT、および TOPIC パターンには、複数のワイルドカードを含めることができます。

  5. マッチング アルゴリズムは、深さ優先検索の高度に制限されたバージョンであり、バックトラッキングとも呼ばれます。

  6. 「_」ワイルドカードを削除し、次の 2 つのステップだけを考慮することで、アルゴリズムを単純化できます。また、 と のない PATTERN の単純なケースを理解してみてください。

Alicebot.org から

これに基づいて、「_」を使用して何かを優先させることができます。次の例を見てください。

<category>
  <pattern>_ BAR</pattern>
  <template>Which bar?</template>
</category>

<category>
  <pattern>FOO BAR</pattern>
  <template>Don't you mean FUBAR? That's an old military acronym, that roughly translates to "broken". I can't directly translate it because I don't curse.</template>
</category>

<category>
  <pattern>* BAR</pattern>
  <template>There are a lot of bars. There's a crow bar, the state bar, a bar for drinking, and foo bar.</template>
</category> 

最も_優先度の高いものが最初に照合されます。シンプルBARは 2 番目に優先され、*最後に優先されます。

于 2016-04-08T08:55:45.937 に答える