目前,在我的程序中,如果用户输入“cat”,则聊天机器人会吐出“告诉我有关您的宠物的更多信息”。正如所料。但是,如果字母cat是另一个单词的一部分,则也是如此。因此,像catch一样的单词会被捕获,聊天机器人将返回“告诉我有关您的宠物的更多信息”。我还有什么办法来改进关键词检测呢?
if(statement.indexOf(“cat”)> = 0){ response =“告诉我有关你的宠物的更多信息。”
答案 0 :(得分:3)
改善关键字检测的几种方法:
答案 1 :(得分:2)
您可以使用正则表达式:
Pattern pattern = Pattern.compile("\\bcat\\b");
Matcher matcher = pattern.matcher("Hello the cat is cool");
boolean cat;
if(matcher.find()) {
cat = true;
} else {
cat = false;
}
在模式中使用\\b
,确保只匹配完整的单词。