大家好,其实这个长照小帮手是我的论文题目,所以这系列的多文章,会有一大部分来自简化的论文内容,再加上一些没有收录进论文的研究心得。
聊天机器人整套系统都是我一个人开发的,所以这系列文章应该会分为 Zenbo、爬虫、TF-IDF、API、Android APP 几个部分来介绍,之後会有一篇介绍整体系统架构。
台湾人口老化问题越来越严重,预估在 2025 年将进入「超高龄社会」(国家发展委员会,2020)。试着想像全台湾每五人就有一人是老人,比例真的很高,这也造成患有慢性病或失能等长者的照顾需求跟着提升。
政府提供了很多长照资源,但除了电视和邻里长的宣传,长者比较难有管道了解其他适合自己的长照资源。根据统计(财团法人台湾网路资讯中心,2019),台湾有10.8%的民众未使用网路,且以60岁以上的年龄层居多,其中「对电脑恐惧或不熟悉」的理由就占了27%。
再加上,内政部统计(内政部统计处,2021),民国 109 年全国不识字的人口还有大概 20 万,其中有 93% 是 65 岁以上长者。而不识字的老年人口约占全部老年人口的 5%。
我们有人口老化的问题,还有长者「对 3C 产品不熟悉」和「不识字比例高」,那我们该如何让长者有机会了解政府提供的长照服务呢?
因此我们决定选择华硕推出的Zenbo机器人。Zenbo 可爱的外型与简易口令的操作方式,可以降低长者对电子产品的恐惧。还有这次设计的聊天机器人特别加入语音控制功能,可以用语音输入问句,机器人也会用语音回答。所以就算是不识字的长辈也能操作。
同时,我们也找到另一份文献(Mary C. Gilly & Valarie A. Zeithaml, 1985),他说老人传统上被认为是比较抗拒改变的,但是当技术满足他们的需求,并得到有效的沟通时,老年消费者确实愿意改变。
研究的过程中难免会写到一半发现不合用的状况嘛,所以整理一下不同技术的优缺,和我最後使用某个技术的原因。在後续的文章中可能会有比较详细的说明?。
一开始我使用的是 Zenbo SDK,为了让 Zenbo 的语音、用字更符合台湾用法,华硕自行建立语音资料库。但使用的过程中发现,Zenbo SDK 好像不太能处理破音字问题,加上念句子会跳字(某些字跳过没念)。所以我後来改用 Android 内建的 RecognizerIntent 和 TextToSpeech,虽然在句子比较复杂的时候,还是有机会念错破音字,但机率上好很多。
最一开始是使用 ASUS 提供的 DDE 工具,优点是安装到 Zenob 比较方便,不须外另外串接 API。缺点是每个句子的 rule 都要手动建立,如果 rule 太宽松,input 可能会同时符合多个 rule,但是太严格,又可能 input 比对不到任何句子。
再来考虑 Engati、DialogFlow 这类可以串接常用通讯软件的平台,但是发现每个句子都还是要手动建立,我有快 500 个句子,会死掉吧。但是 DialogFlow 提供模糊比对,算是解决了 DDE rule 规划的问题。如果你的句子不多,且又有条件判断,那 DialogFlow 还是可以推,只是它不符合我这里的使用。
最後就剩自己建模型的路罗?,我的模型最後是选用 TF-IDF,主要程序码是参考 MorvanZhou/NLP-Tutorials,再经过自己的修改。主要是因为研究 NLP 的时候发现主要都是关於句子生成的主题比较多,但我要的是比对句子的相似性,所以 TF-IDF 比较符合我的需求。
Jieba 来自中国,CKIP 来自中研院,在使用内建断词字典的状况下,有一些台湾的专有名词或简称,CKIP 表现的比 Jieba 比较好。
<<: TailwindCSS 从零开始 - 选择该框架的原因
>>: Day15 - WooCommerce 金流串接实战
在电脑中的资料单位 1个0或1 =>一个位元(bit) 8个0或1 =>一个位元组(By...
什麽是 Single Threaded Execution Pattern? 透过 lock,只会有...
(三)第5.3条组织角色、责任与职权,高阶管理者应该指派有关ISMS之角色、分配相关责任与职权,这些...
前言 非常感谢六角学院在今年疫情最严重的5、6月份,提供了一系列的线上体验学习课程,能够从课程中,再...
问题回答 全域注册的方法,意思是每个 Vue 元件都能使用的方法。在 Vue 2 会有以下方法: V...