豆瓣知识问答环境部署和配置文档
一、 软件运行需求: Python2+、java8.0+、neo4j-community-3.5.23、Scrapy爬虫框架、Django、命名实体识别工具LAC
二、 安装过程:
- 安装python 2版本以及java 8.0以上工具:
- 安装neo4j-community-3.5.23: https://neo4j.com/docs/operations-manual/3.5/installation/
- 安装Python相关软件包: (1) py2neo包 pip install py2neo 参考文档:https://py2neo.org/v3/ (2) scrapy包(推荐版本1.8.0) pip install scrapy 或 pip install scrapy==1.8.0 参考文档:https://docs.scrapy.org/en/latest/intro/install.html (3) django包(推荐版本1.11.21) pip install Django 或 pip install Django== 1.11.21 (4) LAC包 pip install LAC
三、 运行步骤
- 运行neo4j 参考文档:https://neo4j.com/download-center/-community
- 解压缩文件CrawlDouban.zip
- 进入目录 ./CrawlDouban/KnowGraph,存储数据到neo4j python store_know.py
- 存储好数据之后,进入./CrawlDouban/KnowGraph/DouBan/目录 python manage.py runserver 0.0.0.0:6006
- 进入浏览器,查看运行网页: http://0.0.0.0:56006/search
四、 文件描述:
- ./CrawlDouban/CrawlDouban:爬虫的主要代码(Scrapy架构)
- ./CrawlDouban/KnowGraph:Django网页服务器的相关代码、neo4j相关代码、命名实体识别及正则匹配相关代码 (1) ./store_know.py 知识图谱的定义及存储程序 (2) ./CrawlDouban/KnowGraph/DouBan/DouBan/views.py 函数searchKnowGraph():neo4j知识图谱查询代码 函数rules():常规问题查询程序 函数rulesForEntity():命名实体识别程序(基于规则-正则表达式) 函数getNameEntity():命名实体识别程序(基于模型识别) (3) ./CrawlDouban/KnowGraph/DouBan/template/search.html:网页源代码