Neo4j分为社区版和企业版,企业版在横向扩展、权限控制、运行性能等方面都比社区版好,适合正式的生产环境,普通的学习和开发采用免费社区版就好。由于neo4j运行环境需要Java环境,所以在Mac或者Linux中,安装好jdk后,直接解压下载好的Neo4J包,运行bin/neo4j start即可。如果电脑操作系统是macOS,安装好homebrew,只需要执行brew install neo4j即可。
4.1.2 Neo4j使用
Neo4j提供了一个用户友好的web界面,开箱即用,可以进行各项配置、写入、查询等操作,并且提供了可视化功能。在windows安装文件夹bin目录,执行bin/neo4j start命令即可启动neo4j服务。
Cypher是Neo4J的声明式图形查询语言,允许用户不必编写图形结构的遍历代码,就可以对图形数据进行高效的查询。Cypher的设计目的类似SQL语言,适合于开发者以及在数据库上做点对点模式(ad-hoc)查询的专业操作人员。其具备的能力包括:(1)创建、更新、删除节点和关系 。(2)通过模式匹配来查询和修改节点和关系 。(3)管理索引和约束等。
4.2 知识图谱基本概念
知识图谱(Knowledge Graph)最早是由美国的谷歌公司于2012年5月17日提出,并且率先将其应用于增强搜索引擎功能的辅助知识库,取得了不错的效果。但是在知识图谱概念问世之前,语义网络技术的研究早就已经开始。2006年,Berners-Lee提出数据链接(linked data)的思想,推广和完善URI (uniform resource identifier) ,RDF (resource description framework) ,OWL (Web ontology language) 等技术标准,为知识图谱提供了技术基础条件。[6]知识图谱是以图的形式表现客观世界中的概念和实体及其之间关系的知识库,是语义搜索、智能问答、决策支持等智能服务的基础技术之一。
5 古诗词问答系统结构设计
5.1 系统开发工具
本文系统使用的开发工具为Pycharm2021.3(Professional Edtion),PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。[7]PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手。
5.2 系统搭建
本古诗词问答系统是在mac OS 12.4系统下搭建完成,采用的是Anaconda的mac发行版miniforge搭建虚拟Python环境。
1.首先安装好miniforge,更换国内镜像源地址,比如清华镜像源,只需要在终端之下以下命令行。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
2.创建本文系统所需要的虚拟环境,执行conda create -n poetry python=3.8,创建基于Python3.8的古诗词问答系统,执行conda activate poetry激活该虚拟环境。
3.安装本系统所需要的python包,neo4j,lxml,jieba,py2neo等