赞
踩
说到问答机器人,就不得不说一下 ChatGPT 啦。一个预训练的大预言模型,只要是人类范畴内的知识,似乎他回答得都井井有条,从写文章到写代码,再到解决零散琐碎的问题,不光震撼到我们普通人,就百度和阿里也因此紧追其后分别推出了文心一言和通义千问。
所以好像我们也可以通过 GPT,并训练特定的数据来完成本业务下的问答。但是,那时出现了 OpenAI 在封号的事件,国内公司又担心以后形成垄断后收取高昂费用。于是,我打算自己弄一个 GPT,(打断…… 很显然不现实),但是呢!既然是特定场景,那也不需要这么强大的机器人,只要能完成基本流程的智能回复就可以了。 前期我就想着用知识图谱的方式来完成,正好在网上也找了一个医疗知识问答的项目,所以跟着做一遍总结一下。
一个基于 python+neo4j 的问答,通过在图数据库里创建节点和关联边,接收问题的词语,进过拆解特定解析完成查询语句的拼装,最后输出答案。说到这里,是不是感觉这个其实就是一个程序化的思维导图,但是改造的地方也有很多,比如可以通过深度学习进行语义分析,添加语音对话,特定语气地回答输出等等。
create (n:Attr {name: "磕碰掉漆"})
MATCH (n:iphone6s) DELETE n
- MATCH (e:Goods_Class),(cc:Goods)
- CREATE (e)-[r:HAS_GOODS ]->(cc)
-
-
- match(class_name:Goods_Class),(goods_name:Goods)
- where class_name.name='%s'and goods_name.name='%s'
- create (class_name)-[rel:关联边名称{name: 指定名称}]->(goods_name)
- MATCH (c:Goods_Class)-[r:HAS_GOODS]-(g:Goods)
- DELETE r
Match (n:Goods{name: '黑鲨手机'}) DELETE n
通过某个节点名查询与之关联的另一些节点信息,如下面是根据一个疾病名称,获取该疾病与之有关联 (has_symptoms) 的症状名称列表
MATCH (m:Diseases)-[r:has_symptoms]->(n:Symptoms) where m.name = '喘息样支气管炎' return m.name, r.name, n.name
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。