You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现聊天机器人检测用户输入是否在指定关键词列表中?

实现聊天机器人的问候匹配与随机回复

这问题其实很好解决,咱们一步步拆解来做:

首先要搞定两个核心需求:判断用户输入是否在问候词列表里,以及随机挑选一个自然的回复。

1. 检查输入是否属于问候词列表

Python里判断元素是否在列表中,直接用in关键字就可以轻松实现。不过有个实用小细节:用户输入可能存在大小写差异(比如输入"Hello"或者"HEY"),所以最好先把输入转成小写,避免因为大小写问题导致匹配失败。

2. 随机选择回复

要让机器人的回复不生硬重复,咱们可以用Python内置的random模块,其中的random.choice()方法能从回复列表里随机挑选一个元素,让对话更自然。

完整代码示例

import random

greeting_words = ["hi", "hey", "hello", "morning", "afternoon", "evening", "good morning", "good afternoon", "good evening"]
greeting_responses = ['hi', 'hey', 'hello']

# 获取用户输入并转成小写,提升匹配的鲁棒性
human_input = input("You: ").lower()

# 检查输入是否在问候词列表中
if human_input in greeting_words:
    # 随机选一个回复
    bot_response = random.choice(greeting_responses)
    print(f"Bot: {bot_response}")
else:
    # 处理非问候类输入(可选,让逻辑更完整)
    print("Bot: Sorry, I don't get what you mean yet.")

代码细节解释

  • human_input = input("You: ").lower():把用户输入统一转成小写,这样不管用户输入"Hello"还是"HELLO",都能和列表里的小写词汇成功匹配。
  • if human_input in greeting_words::用in关键字快速判断输入是否属于问候词集合,这是Python判断元素是否在序列中最简洁直观的方式。
  • random.choice(greeting_responses):从回复列表里随机选取一个元素,避免机器人每次都输出完全相同的内容,让对话更贴近真实交流。

内容的提问来源于stack exchange,提问作者JSP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:46:52