![a8f94ad2a1e72b13df00f981bf287ab0.png](https://i-blog.csdnimg.cn/blog_migrate/b1ebaf41c37e5c47b25f9a517593d5a8.png)
最近在着手进行一些知识图谱方面的工作,初步接触踩坑无数,在此总结经验,希望能够给需要的人提供参考。
环境:
- windows7 64位
- Python3.6(这个很重要,3.7的朋友注意)
涉及库:
- 图数据库:neo4j
- py2neo
- 哈工大语言处理工具:LTP
- pyltp
neo4j
图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,而Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。
关系型数据库只对单个Join操作进行优化查询,而多重Join操作查询的性能显著下降。图形数据库适合查询关系数据,由于图形遍历的局部性,不管图形中由多少节点和关系,根据遍历规则,Neo4j只访问与遍历相关的节点,不受到总数据集大小的影响,从而保持期待的性能;相应地,遍历的节点越多,遍历速度越慢,但是变慢是线性的,这使得图形数据库不适合做海量数据统计分析。对与存在大量丰富关系的数据,遍历的性能不受图形数据量大小的影响,这使得Neo4j成为解决图形问题的理想数据库。
安装步骤:
1、官网下载neo4j安装文件(官网:https://neo4j.com/download-center/#releases)
2、安装Java JDK(详情见java环境配置)
![efcf0488b3f723985baa3f9b26a3da01.png](https://i-blog.csdnimg.cn/blog_migrate/7b257811689e9eb19c1b3e44a3b63996.png)
3、创建neo4j的环境变量
创建主目录环境变量NEO4J_HOME,并把主目录设置为变量值,value为文件路径。
![f6d9e90702247de92f508dd5bab7f1dd.png](https://i-blog.csdnimg.cn/blog_migrate/5406837d5614620191f9bf6b88f04f53.png)
4、通过控制台启动Neo4j程序
以管理员权限启用DOS命令行窗口,输入以下命令,通过控制台启用neo4j程序。
neo4j.bat console
5、把Neo4j安装为服务(Windows Services)
安装和卸载服务:
binneo4j install-service
binneo4j uninstall-service
启动服务,停止服务,重启服务和查询服务的状态:
binneo4j start binneo4j stop
binneo4j restart binneo4j status
6、在确定neo4j服务开启的状态下浏览器登入http://localhost:7474/,即可在浏览器界面查看本地数据库。
![fc28d2fb32a48d6f031abab5d882fc52.png](https://i-blog.csdnimg.cn/blog_migrate/24cf9b647270ce27297e6e46f95984eb.png)
默认的host是bolt://localhost:7687,默认的用户是neo4j,默认的密码是:neo4j,第一次成功connect到Neo4j服务器之后,需要重置密码。
能够登入之后即代表neo4j这个图数据库我们就安装完成了。
py2neo
py2neo是Neo4j数据库的python驱动,也就是py语言操作neo4j的方法库。支持Bolt和HTTP,并提供高级API,OGM,管理工具,交互式控制台,用于Pygments的Cypher词法分析器以及许多其他功能。与以前的版本不同,Py2neo v4不再需要启用HTTP的服务器,并且可以完全通过Bolt运行。
安装步骤:
我在最开始使用的是anaconda(python3.7版本)中的jupyter进行部分数据的操作,但是会与ipython不兼容的情况,后期换了python3.6版本之后问题解决,还可以使用pycharm建立虚拟环境之后再安装库。
直接pip安装即可,anaconda的3.6初始版本还需要更新一下pip
pip install py2neo==3.1.2
用py2neo就用这个版本,新版真的很崩溃
在完成安装之后,在python中调用py2neo即可,常用的有Graph,Node,Relationship
from py2neo import Graph,Node,Relationship
LTP
由哈工大社会计算与信息检索研究中心研发,全称“语言技术交流平台(LTP)”。LTP提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、 高效、精准的自然语言处理技术。经过哈工大社会计算与信息检索研究中心11 年的持续研发和推广,LTP 已经成为国内外最具影响力的中文处理基础平台。而较之于jieba这个大众分词库(结巴分词)、中科院计算所NLPIR和清华大学THULAC等众多分词库而言,LTP在命名实体识别方面,可以输出标注的词向量,是非常方便基础研究的命名实体的标注工作。
主流语言处理库对比blog.csdn.net用LTP官网(http://ltp.ai/index.html)的在线演示功能举个栗子。
“国内专家学者40余人参加研讨会。”这句话。
![058a4eab120355ac02467fd74cd20a1b.png](https://i-blog.csdnimg.cn/blog_migrate/6d222b2041b6cd48f85466b3022896d1.png)
非常方便进一步的语义结构处理,对于准备构建三元组提供基础。
安装步骤:
这里建议大家直接官网下载模型即可
![6fe4d03556573249e9cb4cad7b3ec988.png](https://i-blog.csdnimg.cn/blog_migrate/2c8450862eb91c644cb6d9abada2a87b.jpeg)
注意一定要记住模型保存位置,这个是后面操作过程中每次使用的时候依据路径调用的。
处理demo:
![b80c18cc7b0251a63f29842b7ac22e82.png](https://i-blog.csdnimg.cn/blog_migrate/e1a686e2842b4e8317dc04ee276d13f4.png)
pyltp
pyltp 是LTP的 Python 封装,也就是py语言对于LTP的操作库,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。
安装步骤:
由于pip安装一直出错,所以建议大家直接采用wheel方法。
1、下载文件
py3.5对应链接:https://mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/pyltp-0.2.1-cp35-cp35m-win_amd64.whl
py3.6对应链接:
https://mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/pyltp-0.2.1-cp36-cp36m-win_amd64.whl
这里注意目前还没有3.7,所以如果必须使用这个库的话还是必须换成python3.6的环境。
2、安装文件
下载好了以后, 在命令行下, cd到wheel文件所在的目录, 然后使用命令pip install wheel文件名安装。
![c89468f04be04d8262c9dfbe4b1b2412.png](https://i-blog.csdnimg.cn/blog_migrate/9b225b4defbf17eebcd620736d1c60e3.jpeg)
3、测试
可以直接在命令窗口中测试,代码如下:
from pyltp import Segmentor
segmentor = Segmentor()
segmentor.load("E:...ltp_datacws.model") #此处为LTP模型所在路径
words = segmentor.segment("元芳你怎么看")
print("|".join(words))
segmentor.release()
成功即可得到:
![b3af451b1a51965f8a13024b1bb761d5.png](https://i-blog.csdnimg.cn/blog_migrate/fffbd0d81cd2537ee12bc59f3a59af68.png)
所以我们的主要语言处理工具安装完成!
有帮助的话点个赞吧~
内容相关来源:
Neo4j 第一篇:在Windows环境中安装Neo4j
Neo4j 第一篇:在Windows环境中安装Neo4j
https://blog.csdn.net/shuihupo/article/details/81540433
https://www.jianshu.com/p/f78453f5d1ca
https://www.jianshu.com/p/9518b5cf325a