python知识点智能问答_基于知识图谱的智能问答机器人

研究背景及意义

智能问答是计算机与人类以自然语言的形式进行交流的一种方式,是人工智能研究的一个分支。

知识图谱本质上是一种语义网络,其结点代表实体(entity)或者概念(concept),边代表实体/概念之间的各种语义关系。知识图谱的出现是信息技术发展、时代发展的必然结果。语义的本质是关联。只有基于语义的数据互联才能发挥数据集成的非线性效应,才能获取大数据的特有语义。

近年来,基于知识图谱的问答系统则成为学术界和工业界的研究和应用热点方向。相较于纯文本,知识图谱在问答系统中具有以下优势。这些优势都促使本文使用知识图谱来作为问答系统的知识来源。

-数据关联度:语义理解智能化程度问题语义理解程度是问答系统的核心指标。在知识图谱中,所有知识点被具有语义信息的边所关联。从问句到知识图谱的知识点的匹配关联过程中,可以用到大量其关联结点的关联信息。这种关联信息无疑更为智能化的语义理解提供了条件。

-数据精度:回答准确率知识图谱的知识来自专业人士标注,或者专业数据库的格式化抓取,这保证了数据的高准确率。

-数据结构化:检索效率知识图谱的结构化组织形式,为计算机的快速知识检索提供了格式支持。

本系统实现目标和内容

本文针对实验室这一关系领域构建知识图谱,基于Neo4j(非关系型数据库)建立学生、老师、项目三个实体的关系网络,使用Python AIML搭建智能问答机器人开发环境,将二者集成,通过接入微信可视化。

最终实现的主要功能是:通过微信向个人(或公众号)账号发送人物、关系查询信息,机器人能够自动查询后回答。

0535dc845ec3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

系统设计框图

知识图谱设计

Neo4j 是一个无框架数据库,它将数据作为顶点和边存储,适合知识图谱的存储结构。它存储和使用的数据自始至终都是使用原生的图结构数据进行处理的,不像有些图数据库,只是在计算处理时使用了图结构数据,而在存储时还将数据保存在关系型数据库中。并且它性能高;存储读写速度快;稳定性好;作为较早的一批图形数据库之一,文档和各种技术博客较多。

Neo4j 的查询语言 Cypher 是一种对图形声明查询的语言,使用图形模式匹配作为主要的机制来处理图形数据选择。Neo4j 提供Python的基本操作API 接口,方便融合到整个系统当中。

抽取的实体:学生、老师、项目

学生与老师之间存在“师生”关系;学生与项目存在“负责人”、“成员”等关系;老师与项目存在“负责人”、“成员”等关系。

0535dc845ec3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

知识存储结构

智能问答机器人

利用Python AIML 人工智能标记语言建立机器人问答语料库。

0535dc845ec3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

语料库建立

微信接入可视化

微信团队给开发者提供了一套标准的接口,为开发者的开发工作提供了很大的便利,我们只需要学习如何通过开放接口获取用户查询的消息,以及如何发送给用户消息这两个部分。本系统正是利用微信公众平台开发的这些优势,只专注于智能问答系统的实现过程,大大减少了网络通信和交互界面设计的工作量,因此选择它作为问答这一互动过程的交流渠道。

0535dc845ec3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

微信开发机制

0535dc845ec3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

实现效果图

后记

由于数据可达性,选择的是实验室的知识图谱,还可以扩展到任一领域,第一次写作,做得不好希望大家提出意见,源码见个人github

博客地址:https://veronica1997.github.io/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java会了还学什么_java都学哪些内容?学完之后可以做哪些工作?

展开全部阶段一:揭开企业开发神秘面纱 (4周32313133353236313431303231363533e78988e69d8331333431336163)1) Web开发基础:HTML语言、JavaScript、CSS、DOM等2) Oracle数据库基础:安装、配置Oracle数据库,熟练掌握SQL语句3) 操作系…

Java中的RAII

资源获取即初始化( RAII )是Bjarne Stroustrup用C 引入的一种用于异常安全资源管理的设计思想。 感谢垃圾回收,Java 没有此功能,但是我们可以使用try-with-resources实现类似的功能。 约翰哈德斯(John Huddles&#x…

eclipse juno_Eclipse Juno上带有GlassFish的JavaEE 7

eclipse junoJava EE 7很热。 前四个JSR最近通过了最终批准选票,与此同时GlassFish 4达到了升级版83。 如果您关注我的博客,那么您将了解NetBeans的大部分工作。 但是我确实认识到,那里还有其他IDE用户,他们也有权试用最新和最出色…

java 生成校验验证码_java 验证码生成与校验

java绘图相关类验证码工具类package dt2008.util;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOException;import ja…

红黑树中nil结点_什么是红黑树?程序员面试必问!

点击上方java小组,选择“置顶公众号”优质文章,第一时间送达当在10亿数据中只需要进行10几次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。终于,在学习了几天的红黑树相关的…

杰克逊JSON解析错误-UnrecognizedPropertyException:无法识别的字段,未标记为可忽略[已解决]...

在解析从我们的一个RESTful Web服务接收到的JSON字符串时,我收到此错误“线程“ main”中的异常com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“人”(类Hello $ Person),不是标记…

mysql2008数据库配置_SQL Server 2008 R2 超详细安装图文教程

这篇文章主要介绍了SQL Server 2008 R2 超详细安装图文教程,需要的朋友可以参考下一、下载SQL Server 2008 R2安装文件二、将安装文件刻录成光盘或者用虚拟光驱加载,或者直接解压,打开安装文件,出现下面的界面安装SQL Server 2008 R2需要.NET…

hdfs读写流程_深度探索Hadoop分布式文件系统(HDFS)数据读取流程

一、开篇Hadoop分布式文件系统(HDFS)是Hadoop大数据生态最底层的数据存储设施。因其具备了海量数据分布式存储能力,针对不同批处理业务的大吞吐数据计算承载力,使其综合复杂度要远远高于其他数据存储系统。因此对Hadoop分布式文件系统(HDFS)的深入研究&a…

mysql隔离级别验证_MySQL事务隔离级别以及验证

查询初始数据开启A事务  并做更新操作再另一端 B开始另一个事务查询 事务级别设置为读未提查询到事务未提交的数据 a的count修改为3 但是没有提交2 第二个级别 读已提交 避免脏读问题 但是有不可重复读问题回滚数据 修改隔离级别 确保都是 读已提交级别客户端A客户端B验证 脏…

注意力机制可视化_目标跟踪中的(STAM)时空注意力机制

目标跟踪分为单目标跟踪和多目标跟踪,单目标跟踪较为简单,这里我们只讨论多目标跟踪。多目标跟踪的遮挡问题多目标跟踪时特别容易发生目标间的相互遮挡,从而导致严重的预测偏移问题,如下图所示:红色框的行人在和蓝色框…

js给标签添加属性和值_jquery节点属性

一.节点操作1.DOM内容节点操作:​ ①innerHTML属性:设置或获取文本的内容(普通文本和标签)。​ ②innerText属性:设置或获取文本的内容(普通文本),存在兼容性问题。2.jQuery内容节点…

sci translate好用吗_228个学科分类对应12000+本SCI和SSCI期刊,总有你要的那款!

最近有很多小伙伴询问选刊的问题,而且都是非常具体的学科方向,我们的小编虽然非常热心且礼貌的回答“近期安排”,但其实我们也感觉到鸭梨山大:根据WOS最新一期(2020/9/21)名单公布,WOS目前总共收录了12266本…

arrays.sort(._Arrays.sort与Arrays.parallelSort

arrays.sort(.我们都使用Arrays.sort对对象和原始数组进行排序。 此API在下面使用合并排序或Tim排序对内容进行排序,如下所示: public static void sort(Object[] a) {if (LegacyMergeSort.userRequested)legacyMergeSort(a);elseComparableTimSort.sor…

适用于Idea的面向现代TDD的Java 8 JUnit测试模板(带有Mockito和AssertJ)

使用类似BDD的语法,Java 8和Mockito-AssertJ二重奏为Idea调整JUnit测试类模板。 本文涵盖的主题似乎很简单。 但是,根据我的培训师经验,我知道(不幸的是)这不是常见的做法。 因此,我决定写这篇简短的博客文…

Java编程字符逆序输出_用JAVA编写一程序:从键盘输入多个字符串到程序中,并将它们按逆序输出在屏幕上。...

展开全部代码如下:import java.util.Scanner;public class ScannerDemo{public static void main(String[] args) throws Exception{Scanner scannew Scanner(System.in);System.out.println("请输入内容:");String strscan.nextLine();char[]…

julia与python对比_有人说Julia比Python好,还给出了5个理由

选自medium作者:Emmett Boudreau机器之心编译参与:杜伟、张倩、肖清本文作者从速度、通用性、多重派发、适用于 ML 的程度和包管理器 5 个方面阐述了 Julia 语言相较于 Python 的优势所在。Julia 是一种多范式的函数式编程语言,用于机器学习和…

linkedhashmap获取第n个元素_机试真题分享——交换链表前后第K个元素

题目描述给定一个编码链表和一个加密条件K,对编码进行加密。加密规则:把编码从前往后开始数第K个元素和从后往前数第K个元素进行交换。注意:编码的长度为0.第一个编码的序号是1.示例:输入:[1 2 3 4 5 6] 2输出&#xf…

Spring Boot Admin –用于管理Spring Boot应用程序的Admin UI

作为微服务开发的一部分,我们许多人都将Spring Boot与Spring Cloud功能一起使用。 在微服务领域,我们将有许多Spring Boot应用程序将在相同/不同的主机上运行。 如果将Spring Actuator添加到Spring Boot应用程序中,我们将获得很多现成的端点来…

md5与des算法有何不同_Python算法详解:为什么说算法是程序的灵魂?

算法是程序的灵魂,只有掌握了算法,才能轻松地驾驭程序开发。软件开发工作不是按部就班,而是选择一种最合理的算法去实现项目功能。算法能够引导开发者在面对一个项目功能时用什么思路去实现,有了这个思路后,编程工作只需要遭循这个思路去实现即可。本章将详细讲解计算机算法的基…

高可用性(HA),会话复制,多VM Payara群集

抽象 在研究如何创建高可用性(HA)时,我发现了会话复制的多机Payara / GlassFish群集,无法在一个参考中找到所需的一切。 我认为这将是一个普遍的需求并且很容易找到。 不幸的是,我的假设是错误的。 因此,本…