APP下载

基于知识图谱的乐山旅游智能问答系统研究及实现

2023-12-02杜春

电脑知识与技术 2023年29期
关键词:乐山景点意图

杜春

(乐山师范学院电子信息与人工智能学院,四川乐山 614000)

0 引言

随着人工智能技术的快速发展,将人工智能技术运用到现实场景中,从而提高社会的生产生活效率,已经成为一个趋势。智能问答是人工智能技术中自然语言处理方向应用于具体场景的热门研究方向。通过智能问答系统能实现用户输入想要询问的问题,系统精确返回答案。

伴随着人民生活水平的提高,越来越多的人热衷于去外地旅游,而获取目标景点的信息显得十分重要。乐山作为拥有乐山大佛、峨眉山等风景名胜的旅游城市,旅游业是乐山经济的重要产业之一。为了给来乐山旅游的游客提供准确及时的景点信息,本文开发了一款旅游智能问答系统。该系统是基于知识图谱、自然语言处理及深度学习等技术实现的。

1 国内外研究现状

随着自然语言处理技术的快速发展,智能问答已经成为一个人工智能领域的研究热点。智能问答的实现涉及用户问句意图识别,因此需要采用深度学习技术中的短文本分类模型来实现对输入问句的意图分类。智能问答按用途分为任务型、问答型、闲聊型,按实现的方式分为基于多轮对话式、基于生成式和基于知识图谱的方式。本文是旅游领域相关的智能问答系统,适合采用基于知识图谱的方式来实现。目前,基于知识图谱的智能问答已经有了很多研究成果。例如,洪海蓝等人以中药知识图谱为知识库,构建了海洋中药智能问答系统(MMKGQA)[1]。曾攀等人通过构建玉米病虫害知识图谱,实现了一个玉米病虫害智能问答系统[2]。张彩丽等人为促进农作物科学施肥管理与土壤肥力研究领域海量数据在农业生产中的利用,构建了对应的知识图谱,实现了一个针对安徽省的农作物科学施肥的智能问答系统[3]。华斌等人提出了基于语言理解的政策智能问答方法[4]。刘爽等人构建了基于中华民族文化知识图谱的智能问答系统[5]。饶竹一等人实现了基于知识图谱的智能客服系统,并应用于深圳供电局掌上营业厅[6]。

2 系统设计

基于知识图谱的乐山旅游智能问答系统的实现主要包含了数据采集、生成旅游知识图谱、构建用户意图识别模型、搭建Web系统等模块,如图1所示。

图1 构建智能问答系统所需要的技术模块

2.1 采集数据

本系统中知识图谱的数据来源于“去哪儿网”“百度百科”等权威网站,保证了数据的准确性及实时性。Python 中为爬取网页数据,提供了一些API,通过这些API 能很方便地进行网页数据的收集。Python 中的Requests 模块是一个用于网络请求的模块,主要用来模拟浏览器发出请求。当服务器返回数据页面后,通过BeautifulSoup 来对页面进行解析,获取到页面中的景点信息等数据。将采集到的数据进行整理后,存储到CSV文件中,如图2所示,图中仅显示了部分数据。

图2 采集到的景点数据

2.2 生成旅游知识图谱

根据上一步用爬虫技术采集到的数据,将这些数据导入Neo4j 图数据库中进行存储,生成的知识图谱如图3所示。Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java 持久化引擎。知识图谱是由多个节点与节点之间关系以及节点具有的属性构成。从生成的景点知识图谱中可以看到每一个城市用一个节点来表示,同时每一个城市又包含了该城市拥有的景点,这些景点也是用节点来表示,同时景点节点还具有“地址、景点简介、景点英文名、景点名、官网、开放时间、联系电话、最适合浏览的季节、景点星级、建议浏览时长、交通出行”等属性,如图4所示。

图3 景点知识图谱

图4 峨眉山景点节点的属性

2.3 构建用户意图识别模型

当用户在前端界面输入问题后,需要对该问题进行分类,以明确用户到底想问的是什么方面的问题。为了识别用户问句的意图,首先根据旅游景点相关的问题,制作了20 个问题模板,分别对应不同种类的问题。接着,编写程序构建FastText用户问句意图分类模型。FastText是Facebook于2016年开源的一个词向量计算和文本分类工具,它的优点也非常明显,在文本分类任务中,FastText(浅层网络)往往能取得和深度网络相媲美的精度,却在训练时间上比深度网络快许多数量级。因此使用FastText模型在不损失分类精度的同时还具有模型训练时间快,响应时间快等特点,非常适用于工程应用中。FastText模型的训练要求数据集格式必须为“词1 词2...__label__1”的形式,如图5所示,仅展示了部分数据集。

图5 训练的数据集

以下是使用fastText 模型进行问句意图分类的核心代码:

2.4 搭建Flask Web系统

Flask 是Python 提供的轻量级Web 框架,使用它能很方便地实现Web 系统。本智能问答系统的前端界面采用了Bootstrap 前端框架来实现。Bootstrap 是一款开源的前端开发框架,能极大地简化前端界面开发流程,提高开发人员的开发效率。界面主要分为聊天内容显示区域及问题输入框构成。用户输入要询问的旅游相关问题后,点击“发送”按钮,将问句传递到后台,对问句进行中文分词、去停用词等预处理,接着对预处理后的问句进行命名实体识别,识别出城市县区、景点等关键词,再将预处理后的问句输入Fast-Text 问句意图分类模型中,得到用户的意图,经过以上处理后,查询Neo4j图数据库得到精确答案,并返回到聊天界面中,如图6所示。

图6 智能问答系统界面图

Flask主要代码如下

3 结束语

本文通过采集数据、数据预处理、构建知识图谱、用户问句意图分类、搭建Flask Web系统,实现了一个乐山旅游景点的智能问答系统。该系统经测试,运行正常,符合工程应用中对系统的响应时间要求。本系统中采用了FastText模型构建了一个用于用户问句意图分类的模型,精确度较高,但本系统中的问句模板的质量仍然决定了用户问句意图识别的准确率,因此后续还可进一步完善问句模板以及扩充景点知识图谱,保证数据的完整性和准确性。

4 致谢

本文受到了互联网自然语言智能处理四川省高等学校重点实验室开放基金项目(项目编号:INLP202205)资助,特此感谢。

猜你喜欢

乐山景点意图
文化遗踪——峨眉山—乐山大佛
原始意图、对抗主义和非解释主义
乐山师范学院特殊教育专业介绍
陆游诗写意图(国画)
制定法解释与立法意图的反事实检验
食在四川,味在乐山
《赠乐山五言律诗轴》
打卡名校景点——那些必去朝圣的大学景点
英格兰十大怪异景点
没有景点 只是生活