(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)

近期着手在构建毕业设计系统,由于早期时间偶然接触到一个公众号推送关于人工智能客服的信息,心血来潮也想自己搭建一个。在经历了不断的踩坑填坑,总算是达成目标。记录一下整体搭建。

话不多说先上效果图

(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)_第1张图片

具体流程分为以下几步

1.搭建后台数据库Neo4j

        Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处(来自百度百科)

通俗一些说就是Neo4j处理节点关系上的性能相对于Mysql性能比较优秀,并且语句简单,对于搭建知识图谱而言比较适用

数据库数据以及Neo4j的安装操作,具体内容参考

基于电影知识图谱的智能问答系统(一) -- Mysql数据准备

安装成功并启动后

 如果想要关闭身份验证,点击 open-》setting

 

(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)_第2张图片

将dbms.security.auth_enabled设置为false,保存重新运行即可

(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)_第3张图片

启动后通过浏览器访问 http://localhost:7474/browser/ 进行查询界面

(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)_第4张图片

 

2.搭建Python环境+Hanlp

python版本用的是python3.7的版本

Python安装网上资源很多,大家可自行查阅

Hanlp

相对于英文的分词处理而言,中文分词处理明显存在更大的挑战。每写完一个英文单词都会留下一个空格与下一个单词进行隔开。明显这套规则并不适用于中文。

而且同一句话不同语气不同停顿能传递的意思相差十万八千里

(例如:他赞成我不赞成。  他赞成?我不赞成  他赞成我不?赞成)

当然目前存在很多各种各样的分词器(例如python中的jieba),但是相对于其他而已,Hanlp则是由国人搭建的一套自然语言处理框架。覆盖人名识别,情感分析,关键词提取,命名实体识别,中文分词,词性标注等

GitHub地址:https://github.com/hankcs/HanLP

后台实现效果

(Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)_第5张图片

 

3.微信公众号

要实现接入微信搭建一个智能客服,必备一个微信公众号。微信公众号可在直接搜索微信公众号去申请开通一个即可。

微信公众号申请下来后还得解决如何联通后台python与微信。正常情况下当然是需要一个云服务器最好并且也最方便。

但是每次发布都需要部署到服务器上,调试也不方便。所以在此采用另外一种方式:内网穿透NATAPP.cn 简单来说就是将内网的地址通过处理直接公布到外网上。并且通过指定链接可直接进行访问

NATAPP.CN

好处不多说,免费就是无敌!!

受限于篇幅的长度,打算分几篇一起介绍。本篇简单介绍一下整体。后边在填坑

后台搭建参考来源:

基于电影知识图谱的智能问答系统(一) -- Mysql数据准备_appleyk的博客-CSDN博客

你可能感兴趣的:(智能客服,python,nlp,人工智能)