# 人工智能-聊天机器人 **Repository Path**: abream/intelligent-chat-robot ## Basic Information - **Project Name**: 人工智能-聊天机器人 - **Description**: 本项目为采用人工智能方法实现的北京理工大学虚拟聊天机器人,综合使用人工神经网络、机器学习、群智能、符号智能等途径进行功能的具体实现 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-10-06 - **Last Updated**: 2023-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能聊天机器人 #### 介绍 本项目为采用人工智能方法实现的北京理工大学虚拟聊天机器人,综合使用人工神经网络、机器学习、群智能、符号智能等途径进行功能的具体实现。具有的功能如下: 1)能够识别人在摄像头前的出现,主动打招呼; 2)能够与人就北京理工大学的情况做自然的语音交流与沟通,听懂人说的话,然后做出合适的回应, 发出相应声音; 3)有虚拟形象与动作。 本项目的核心问答部分是由基于Transformer和Bert的close domain抽取式问答系统构建而成,其中数据库为人工构建的135条关于北京理工大学情况的问答信息。本项目的人脸识别部分采用了深度学习模型Face Recognition,通过给定时捕获的面部图片编码、比对特征值来得到最匹配的身份结果。虚拟形象则是逐帧动画构成的动作序列组成,结合了群体智能和符号智能算法,基于动作之间衔接的分数求出最优的动作序列进行展示。 #### 安装教程 运行项目前,请先根据代码中信息安装所需要的库,配置必要的环境之后运行。本项目使用python3.7进行开发。 由于网站上传文件的限制,代码中用到的两个transfomer模型放在百度网盘中,请自行下载并按照如 下路径存放在源代码根目录下。如有问题,请按照报告末尾的联系方式联系开发人员。 roberta-base-squad2模型: ![输入图片说明](https://foruda.gitee.com/images/1661684991109564645/57527cd0_9385538.png "屏幕截图") distilbert-base-nli-mean-tokens模型: ![输入图片说明](https://foruda.gitee.com/images/1661685010047854247/0db4bc0b_9385538.png "屏幕截图") 其中,问答系统需要的模型分别存放在./distilbert-base-nli-mean-tokens和./roberta-base-squad2中,适用于python3.7的PyAudio的whl文件为./PyAudio-0.2.11-cp37-cp37m-win_amd64.whl,其他库文件均可以通过pip install方式直接下载。 本项目需要调用电脑的麦克风和摄像头,请保证对应配件功能完好。 #### 使用说明 在命令行中输入python main.py即可运行本项目的主程序。此时,请保证您的脸部处于摄像头正前方。如果持续未采集到清晰人脸,则会提示未找到人脸信息,直到采集到清晰人脸后,项目的窗体出现。 人脸数据存放于facial_info文件夹中,若为未在数据集中的人脸,则会被识别成陌生人。识别人脸后,主程序启动,虚拟形象出现并主动打招呼。 点击下面的“开始说话”按钮,程序调用麦克风录制音频,可以就北京理工大学的情况向AI发问,问题包括但不限于“北京理工大学的校长是谁?”、“北京理工大学有几位院士?”、“北京理工大学有多少学生?”、“北京理工大学的排名是?”,具体问题详见Q&A pair_en.txt中的问题集。问题结束后,点击“停止说话”按钮,稍等片刻,AI会语音进行回答