【发布时间】:2022-11-30 23:15:06
【问题描述】:
在 aiml 中,我试图让我的机器人识别任何单词的中间字母。例如,如果我问“猫的中间字母是什么”,那么它应该回答“A”,这就是代码的样子
<category><pattern>MIDDLELETTER *</pattern>
<template>The middle letter of <star/> is: <srai>MIDDLEITEM <explode><star/></explode></srai></template>
</category>
<category><pattern>MIDDLEITEM * * *</pattern>
<template><srai>MIDDLEITEM <star index="2"/></srai></template>
</category>
<category><pattern>MIDDLEITEM *</pattern>
<template><star/></template>
</category>
上面的代码在这种情况下工作正常
HUMAN: MIDDLELETTER CAT
ROBOT: The middle letter of CAT is: A
HUMAN: MIDDLELETTER SKY
ROBOT: The middle letter of SKY is: K
但在这种情况下不能正常工作
HUMAN: MIDDLELETTER ROMAN
ROBOT: The middle letter of ROMAN is: O
HUMAN: MIDDLELETTER DCNOVAN
ROBOT: The middle letter of DCNOVAN is: C
我期待这些结果
HUMAN: MIDDLELETTER ROMAN
ROBOT: The middle letter of ROMAN is: M
HUMAN: MIDDLELETTER DCNOVAN
ROBOT: The middle letter of DCNOVAN is: O
还有,如果一个单词有8个字母怎么办?我期待让它像
HUMAN: MIDDLELETTER ABSOLUTE
ROBOT: The middle letter of ABSOLUTE could be either O or L
我的代码中缺少什么?
【问题讨论】:
标签: aiml