1.项目背景
近年来,人机对话系统作为人工智能的一个重要领域,得到了许多关注和发展。传统信息检索技术已经不能满足人们对信息获取效率的要求,智能问答系统应运而生,并成为自然语言处理领域一个非常重要的研究热点。
知识图谱(Knowledge Graph)于2012年5月17日被Google正式提出,其初衷是为了提高搜索引擎的能力,增强用户的搜索质量以及搜索体验。知识图谱是一种结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体 关系 实体”三元组,以及实体及其相关属性值对,实体间通过关系相互联结构成网状知识结构。
随着知识图谱的不断发展,越来越多的知识图谱出现在人们视野当中,这些知识图谱在各个领域中得到广泛应用,能够作为智能问答的高质量数据源。知识图谱用于智能问答领域主要有两个方面:一方面,问答系统可以直接从知识图谱中检索答案;另一方面,知识图谱能够给智能问答系统提供外部信息,从而提高问答系统的性能,这两个方面都是研究的热点。
2.项目需求
采用知识图谱组织机器人的知识库,并对用户输入进行推理、关联,实现对用户意图的准确理解,检索菜谱领域知识库并生成答案。
抽象用例:
需求中的动词短语: 组织机器人知识库、理解用户输入、检索知识库、生成答案
用例分析:
- 组织机器人知识库:
- 起始用户:用户输入菜谱数据
- 终止用户:知识图谱模块组织形成知识图谱新内容
- 是否完成有效任务:用户获得知识图谱内容
- 是否是业务流程:是
- 理解用户输入并生成答案:
- 起始用户:菜谱系统用户输入问题
- 终止用户:菜谱系统用户获得答案输出
- 是否完成有效任务:菜谱系统用户获得所提问题答案
- 是否是业务流程:是
- 检索知识库:
- 起始用户:问答模块发出检索请求
- 终止用户:问答模块获得检索信息
- 是否完成有效任务:问答模块成功检索到信息
- 是否是业务流程:否
综上所述,项目用例:组织机器人知识库、理解用户输入并生成答案。
高层用例:
- 组织机器人知识库(问答):用例的开始状态是用户向知识图谱模块输入菜谱数据,结束状态是知识图谱模块分析组织获得新的知识图谱内容。
- 回答菜谱相关问题(知识图谱构建):用例的开始状态是用户向问答模块输入问句,结束状态是用户获得从问答系统返回的问题。
用例图
扩展用例:
构建知识图谱:
用户 | 系统 |
---|---|
- | 展示构建知识图谱GUI |
TUCBW输入菜谱数据 | 显示用户数据成功输入 |
选择生成知识图谱按钮 | 显示正在生成知识图谱 |
- | 显示新的知识图谱内容已形成 |
TUCEW获得图谱形成信息 | - |
问答:
用户 | 系统 |
---|---|
- | 展示问答系统GUI |
TUCBW输入菜谱相关问题 | 显示用户输入问题成功及所输入问题 |
- | 显示用户输入的问题的回答 |
TUCEW获得系统返回的答案 | - |
数据模型:
本项目使用Neo4j图数据库来组织构建系统的数据模型,采用经典的知识图谱三元组模型:实体–关系–实体结构。
具体数据模型结构设计表:
//
//