项目简介
本项目是基于知识图谱的智能问答系统,提供沪深两市上市公司及其管理层相关信息的智能问答服务。用户可通过系统查询公司地址、创办时间、业务范畴、股票信息、管理层名单等,以及个人职位、生日、学历等信息。系统运用网络爬虫、数据清洗、图数据库装载、自然语言处理和机器学习等技术实现。
项目的主要特性和功能
- 数据爬取:利用Python爬虫从巨潮网爬取公司基本信息与高管信息。
- 数据清洗:对爬取的数据进行清洗整理,去除无用信息。
- 图数据库装载:采用Neo4j图数据库存储清洗后的数据,构建知识图谱。
- 自然语言处理:使用jieba分词进行中文分词,借助自定义词典增强分词效果。
- 机器学习:运用TF - IDF和朴素贝叶斯分类器对问题分类,快速定位查询模板。
- 查询模板:设计多种查询模板,用于查询公司和个人信息。
- 交互界面:设计前端界面,用户可通过界面提问并获取系统答案。
安装使用步骤
环境准备
- 安装Python环境。
- 安装项目依赖库:
pip install -r requirements.txt
。
数据爬取
- 运行
ETL/get_data.py
爬取数据。
图数据库装载
- 启动Neo4j数据库,确保认证信息正确(默认用户名和密码为
neo4j
和123456
)。 - 运行
ETL/readjson.py
将爬取的数据装载到Neo4j图数据库中。
运行主程序
- 运行
code.py
启动Web服务器。 - 在浏览器中访问
http://127.0.0.1:1234
进行提问和获取答案。
注意事项
- 确保已安装Python环境,并正确配置
requests
、jieba
、py2neo
等依赖库。 - 运行
ETL/get_data.py
前,确保已下载name_code.csv
文件,其中包含股票代码信息。 - 运行
ETL/readjson.py
前,确保Neo4j数据库已启动,并设置正确的认证信息。 - 项目中的
code.py
、preprocess_data.py
、query.py
、question_classification.py
、question_template.py
和ETL/get_data.py
、ETL/readjson.py
文件共同构成项目各部分,请按正确顺序和方式运行这些文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】