python问答机器人
时间: 2024-01-25 12:13:13 浏览: 30
以下是一个简单的Python问答机器人的示例:
```python
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
# 定义问题和答案
questions = [
"什么是人工智能?",
"Python有哪些应用领域?",
"如何安装Python?"
]
answers = [
"人工智能是一种模拟人类智能的技术。",
"Python可以应用于数据分析、机器学习、Web开发等领域。",
"你可以从Python官方网站下载并安装Python。"
]
# 预处理问题和答案
stop_words = set(stopwords.words('english'))
def preprocess(text):
tokens = word_tokenize(text.lower())
tokens = [token for token in tokens if token.isalpha() and token not in stop_words]
return tokens
# 构建问答模型
def build_qa_model(questions, answers):
qa_model = {}
for i in range(len(questions)):
tokens = preprocess(questions[i])
for token in tokens:
if token not in qa_model:
qa_model[token] = []
qa_model[token].append(answers[i])
return qa_model
# 回答问题
def answer_question(question, qa_model):
tokens = preprocess(question)
response = "抱歉,我不知道答案。"
for token in tokens:
if token in qa_model:
response = qa_model[token][0]
break
return response
# 构建问答模型
qa_model = build_qa_model(questions, answers)
# 回答问题
question = "Python有哪些应用领域?"
answer = answer_question(question, qa_model)
print(answer) # 输出:Python可以应用于数据分析、机器学习、Web开发等领域。
```