Как заставить тег <topic>работать с этим вопросом в AIML? - PullRequest
3 голосов
/ 01 декабря 2019

Для проекта у меня один и тот же вопрос, но из-за контекста требуются разные ответы. Код ниже не работает, и у меня возникают проблемы с пониманием, почему. Я думаю, что это относится к моему другому вопросу, потому что он имеет тот же шаблон, однако я подумал, что тег сначала будет смотреть на два шаблона ниже.

<category>
    <pattern>WHAT IS *</pattern>
    <template>
        <think>
            <set name = "topic">
                state<star />
            </set>
        </think>
        <condition name = "topic" value = "beauty">A subjective judgment evoked by an emotional response</condition>
        <condition name = "topic" value = "Bristol">Bristol is a city.</condition>
        <condition name = "topic" value = "London">London is a city.</condition>
        <condition name = "topic" value = "UWE">I do not have an answer for that</condition>
    </template>
</category>
<topic name = "state">
    <category>
        <pattern># WHERE IS IT #</pattern>
        <that>Bristol is a city.</that>
        <template>In the South-West of England</template>
    </category>
    <category>
        <pattern># WHERE IS IT #</pattern>
        <that>London is a city.</that>
        <template>Somewhere east of Bristol</template>
    </category>
</topic>

1 Ответ

1 голос
/ 01 декабря 2019

Удалить полные остановки. В тегах нельзя использовать знаки препинания. Вам не нужно использовать темы для этого.

<that>Bristol is a city</that>

Вы можете сделать это намного чище, не используя тег темы, например:

<category>
    <pattern>WHAT IS *</pattern>
    <template>
        <think><set name="it"><star/></set></think>
        <condition name="it">
            <li value="beauty">A subjective judgment evoked by an emotional response.</li>
            <li value="Bristol">Bristol is a city.</li>
            <li value="London">London is a city.</li>
            <li value="UWE">I do not have an answer for that</li>
            <li>I have no idea.</li>
        </condition>
    </template>
</category>

<category>
    <pattern># WHERE IS IT #</pattern>
    <template>
        <condition name="it">
            <li value="beauty">In someone attractive.</li>
            <li value="Bristol">In the South-West of England.</li>
            <li value="London">Somewhere east of Bristol.</li>
            <li value="UWE">I do not have an answer for that</li>
            <li>Where is what?</li>
        </condition>
    </template>
</category>
...