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

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

话不多说先上效果图

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

具体流程分为以下几步

1.搭建后台数据库Neo4j

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

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

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

安装成功并启动后

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

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

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

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

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

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

2.搭建Python环境+Hanlp

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

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

Hanlp

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

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

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

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

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

后台实现效果

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

3.微信公众号

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

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

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

NATAPP.CN

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

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

后台搭建参考来源:

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

Original: https://blog.csdn.net/qq_41842588/article/details/124238732
Author: 缘,妙不可言
Title: (Python,Hanlp,Neo4j)基于电影图谱搭建微信问答机器人(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/528254/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球