温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :)
课程助教是高校中一种常见的教学模式,其在学生理论知识的掌握与实践能力的提高方面起到关键性的作用,已经成为高校日常教育环节中不可或缺的一环。然而,传统的人力助教有若干关键问题亟待解决。例如效率低下、时间和空间上存在局限性、水平有限等。为了提高高校课堂实践环节的效率。
本项目通过利用网络爬虫爬虫,自然语言处理等相关技术,为改善网络搜索 信息分布范围广,水平参差不齐的问题,设计了一款面向操作系统课程的聊天机器人。能够使用户更方便的获取信息,用户只需要输入自然语言问题,从互联网采集相关课程资料,经过信息抽取整合后,交互问答的形式返回给用户正确的答案。
利用网络爬虫,通过对用户的问题进行实时搜索,并抽取出于问题相关的文本内容,清洗格式化处理:
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 += '【点击查看详情】'
return answer
本系统利用 flask 搭建web服务,接受用户自然语言输入,后台经过相关课程素材的采集,关键信息抽取,组织成答案文本返回给客户端。前端利用 Bootstrap 框架构建类似微信的交互式页面:
系统演示视频如下:
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。
技术交流认准下方 CSDN 官方提供的学长 Wechat / QQ 名片 :)
精彩专栏推荐订阅:
1. Python 毕设精品实战案例
2. 自然语言处理 NLP 精品实战案例
3. 计算机视觉 CV 精品实战案例