1. 项目简介
课程助教是高校中一种常见的教学模式,其在学生理论知识的掌握与实践能力的提高方面起到关键性的作用,已经成为高校日常教育环节中不可或缺的一环。然而,传统的人力助教有若干关键问题亟待解决。例如效率低下、时间和空间上存在局限性、水平有限等。为了提高高校课堂实践环节的效率。
本项目通过利用网络爬虫爬虫,自然语言处理等相关技术,为改善网络搜索 信息分布范围广,水平参差不齐的问题,设计了一款面向操作系统课程的聊天机器人。能够使用户更方便的获取信息,用户只需要输入自然语言问题,从互联网采集相关课程资料,经过信息抽取整合后,交互问答的形式返回给用户正确的答案。
2. 基于 Python 的课程助教智能聊天机器人
2.1 百科知识采集
利用网络爬虫,通过对用户的问题进行实时搜索,并抽取出于问题相关的文本内容,清洗格式化处理:
def request_baidu(question):
url = 'https://xxxxxxxxxxxxxxxxxxxx'
url = url.format(question)
print(url)
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
}
response = requests.get(url, headers=headers)
response.encoding = 'utf8'
soup = BeautifulSoup(response.text, 'lxml')
# 抽取出详细的答案
# xxxxxxxxxxxxxxx
print(answer)
answer += '<a href="'+xiangxi_url+'" target="_blank">【点击查看详情】</a>'
return answer
2.2 课程助教智能聊天机器人系统搭建
本系统利用 flask 搭建web服务,接受用户自然语言输入,后台经过相关课程素材的采集,关键信息抽取,组织成答案文本返回给客户端。前端利用 Bootstrap 框架构建类似微信的交互式页面:
系统演示视频如下: