CN104915413B - 一种健康检测方法及系统 - Google Patents

一种健康检测方法及系统 Download PDF

Info

Publication number
CN104915413B
CN104915413B CN201510305116.0A CN201510305116A CN104915413B CN 104915413 B CN104915413 B CN 104915413B CN 201510305116 A CN201510305116 A CN 201510305116A CN 104915413 B CN104915413 B CN 104915413B
Authority
CN
China
Prior art keywords
disease
database
server
mobile terminal
health
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510305116.0A
Other languages
English (en)
Other versions
CN104915413A (zh
Inventor
吴贺俊
向航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SYSU CMU Shunde International Joint Research Institute
National Sun Yat Sen University
Original Assignee
SYSU CMU Shunde International Joint Research Institute
National Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SYSU CMU Shunde International Joint Research Institute, National Sun Yat Sen University filed Critical SYSU CMU Shunde International Joint Research Institute
Priority to CN201510305116.0A priority Critical patent/CN104915413B/zh
Publication of CN104915413A publication Critical patent/CN104915413A/zh
Application granted granted Critical
Publication of CN104915413B publication Critical patent/CN104915413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Child & Adolescent Psychology (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种健康监测方法及系统,其中方法包括以下步骤:移动终端向服务器发送浏览请求、搜索请求或健康报告请求;服务器接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令;服务器接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令;服务器接收健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算所述关键词组的最相关疾病,向数据库请求所述最相关疾病的信息;数据库根据接收到的指令,利用网络爬虫从互联网获取与该指令相关的数据;服务器将数据库返回的数据按照标准格式发送至所述移动终端。本发明提供的一种健康监测方法及系统提供了查询及健康报告功能,方便用户随时查询。

Description

一种健康检测方法及系统
技术领域
本发明涉及数据挖掘技术,特别是指一种基于大规模数据挖掘技术的、构建于移动互联网的健康检测方法。
背景技术
随着当前技术日新月异的发展,我国的医疗水平也不断提高,人民的健康要求也随之提高。当前我国社会医疗资源仍处于使用紧张的状态,许许多多的老百姓仍有看病难,看病不方便等问题。现阶段虽然有数量众多的医疗疾病信息网站,但是它们在信息的提供上有非常多的局限,比方说信息不够全面、信息不准确、使用不方便等问题。并且,现有的一些医疗健康软件或网站,仅提供疾病查询功能,至多提供通过症状简单列举对应疾病的功能,而无法根据症状为病人提供有效的诊疗建议或应急措施。
发明内容
有鉴于此,本发明的目的在于提出一种健康检测方法及系统。
基于上述目的本发明提供一种健康监测方法,适用于包括移动终端、服务器和数据库的系统,包括以下步骤:
移动终端向服务器发送浏览请求、搜索请求或健康报告请求;
服务器接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令;
服务器接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令;
服务器接收健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算所述关键词组的最相关疾病,向数据库请求所述最相关疾病的信息;
数据库根据接收到的指令,利用网络爬虫从互联网获取与该指令相关的数据;
服务器将数据库返回的数据按照标准格式发送至所述移动终端。
可选的,服务器执行搜索请求的步骤包括:
服务器接收移动终端发送的移动设备ID;
服务器向数据库发送搜索指令,获得该移动设备ID的历史搜索记录,选出搜索记录中被搜索次数最多的至少5个搜索关键字,作为查询热词;
服务器向移动终端发送该移动设备ID的查询热词;
服务器接收来自该移动终端发送的搜索请求,该请求包括:搜索关键字、移动设备ID、页号等;
服务器添加搜索记录到数据库,并根据搜索关键字对数据库进行检索;
服务器接收数据库发送的检索结果;
服务器将结果按页号发送给移动终端。
可选的,服务器利用朴素贝叶斯算法计算与所述关键词最相关的疾病的步骤包括:
获取用户输入的关键词组X,X包含n个全部关键词x1至xn,n为大于0的整数,表示为X=[x1,……,xn];
获取数据库的m个全部疾病类别y1至ym,m为大于0的整数;
计算关键词组X属于疾病yj的概率P(yj|X),j为取值范围是[1,m]的整数,计算式如下:
其中P(X|yj)表示在疾病yj的文档中,关键词组X出现的概率;P(yj)表示疾病yj在数据库的全部文档中出现的概率;P(X)表示关键词组在数据库出现的频率。
可选的,还包括以下步骤:
选择某个未获取数据的科室主页或者某个患病部位;
使用爬虫爬取网页内数据,解析出页面中列出的疾病名;
对每个解析出的疾病名,判断是否已存入数据库,若已存在则选择下一疾病;
存入疾病名;
判断该页面是否存在下一页信息,若存在,选择下一页,重复上述爬取过程;
判断是否存在未获取的疾病科室或患病部位,若存在,选择某个未获取数据的科室主页或者某个患病部位,重复上述爬取过程。
可选的,还包括以下步骤:
从数据库获得疾病名称;
搜索该疾病名,获得返回页,解析页面中的链接;
获取一条链接页面;
判断是否在该链接页面中存在该疾病的结构化信息,判断是否在数据库中已存入该条结构化信息,若未存入,从网页中解析出结构化数据并存入数据库中;
判断是否还有链接信息未被爬取,若有则获取新的页面链接;
判断是否数据库中还存在疾病名称未被爬取,若有则重复上述爬取步骤。
可选的,还包括以下步骤:
数据库采用包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法在内的多种分词方法对新存入的疾病数据进行分词处理。
本发明还提供一种健康监测系统,包括:
移动终端,用于用户对系统的访问,向服务器发送浏览请求、搜索请求或健康报告请求。
服务器,用于处理用户与系统间的命令和系统数据,接收到移动终端发送的请求后,向数据库发送查询指令、搜索指令或健康报告指令;将数据库返回的数据按照规定格式发送至所述移动终端。
数据库,用于存储该系统提供服务的所需信息,根据服务器的指令处理并向服务器发送相应数据。
可选的,所述移动终端包括:
浏览模块,用于向服务器发送浏览请求,获得服务器的相应后,将取得的数据展示给用户;浏览模块提供包括按疾病科室分类浏览和按疾病部位分类浏览在内的浏览模式;
搜索模块,根据输入的关键词向服务器发送搜索请求,获得服务器的响应后,将服务器搜索到的疾病信息展示给用户;
健康报告模块,根据用户提供的关键词组,向服务器发送健康报告请求,获得服务器的响应后,将服务器提供的、与关键词组最接近的疾病信息展示给用户。
可选的,所述服务器包括:
服务器查询模块,用于接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令,将数据库返回的数据按照规定格式发送至所述移动终端;
服务器搜索模块,用于接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令,将数据库返回的数据按照规定格式发送至所述移动终端;
服务器健康报告模块,用于接收用移动终端的健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算与所述关键词组最相关的疾病,将该疾病的相关信息按照规定格式发送至所述移动终端。
可选的,所述数据库包括:
网络爬虫模块,使用网络爬虫自动在互联网上搜索疾病相关的网页,对网页进行下载,分析网页中有价值的数据,存入数据库;
数据处理模块,用于完成基本的查询、搜索功能;包括中文分词单元和疾病排序单元;中文分词单元采用复合中文分词法对相关语句进行分词,疾病排序单元根据疾病的被检索次数和相关度对疾病名称进行排序。
从上面所述可以看出,本发明提供的一种健康监测方法及系统提供了一种随时随地能够查阅疾病信息的方案,通过使用该系统,用户可以在任何可以连接网络的地方查阅海量的疾病信息,并且利用参考功能,判断自己最可能患有的疾病,为生活提供了便利。
附图说明
图1为本发明提供的一种健康监测系统的实施例的模块示意图;
图2为本发明提供的一种健康监测方法的实施例的整体流程图;
图3为本发明提供的一种健康监测方法的实施例中使用网络爬虫获取疾病名称的步骤流程图;
图4为本发明提供的一种健康监测方法的实施例中使用网络爬虫获取疾病具体信息的步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明提供的一种健康监测系统的实施例的模块示意图。如图所示,本发明提供的一种健康监测系统至少包括:
移动终端1,用于用户对系统的访问,提供包括疾病浏览、疾病搜索和健康报告在内的功能。
服务器2,用于处理用户与系统间的指令和系统数据。
数据库3,用于存储该系统提供服务的所需信息。
在本发明给出的一个具体实施例中,移动终端为使用安卓系统的移动智能设备。事实上,所有能够通过网络与服务器等后台设备取得通信的移动设备或固定设备,例如IOS设备、WM设备等,只要其能够实现文字和/或图像输入输出,均适用于本发明,均应列入本发明的保护范围内。
具体的,上述移动终端1包括:
浏览模块11,用于向服务器2发送浏览请求,获得服务器2的响应后,将取得的数据展示给用户。浏览模块11提供包括按疾病科室分类浏览和按疾病部位分类浏览在内的浏览模式,用户可以自主选择需要的浏览方式,通过分级按钮、下拉菜单等方式实现选择。
搜索模块12,根据输入的关键词向服务器2发送搜索请求,获得服务器2的响应后,将服务器2搜索到的疾病信息展示给用户。搜索模块12给用户提供使用关键字查询疾病的功能,可以更加有针对性地了解疾病。
健康报告模块13,根据用户提供的关键词组,向服务器2发送健康报告请求,获得服务器2的响应后,将服务器2提供的、与关键词组最接近的疾病信息展示给用户。健康报告模块13可以根据用户输入的症状,通过检索给出具备相应适应症的疾病,并按照相关度展示给用户,并给出相应的诊疗建议,提供了一种简单方便地私人医生系统。
浏览模块11负责通过移动终端1提供的因特网连接向服务器2发送浏览请求,获得服务器2的响应后,将取得的数据按一定的规则展示给用户。具体的实现是,该模块分类两种浏览模式:按疾病科室分类浏览、按疾病部位分类浏览,顾名思义,按疾病科室分类浏览是让用户能够通过终端能够以疾病科室的分类方式中浏览查阅疾病的详细信息,按疾病部位分类浏览同理。
以按疾病科室浏览为例,当用户点击按疾病科室浏览后,用户将会看到以列表形式展现的各个科室名称,点击选择科室将会看到该科室的二级分类;在该列表中置顶的选项为查看所有疾病,这一选项实现查看该一级分类中的所有疾病,选中二级分类后,将会返回该分类下所有疾病的信息,按页显示,下拉加载更多信息。按患病部位浏览同理。
移动终端1的浏览模块11主要负责向服务器2发送浏览请求信息,通过URL的方式请求参数,并接受来自服务器2的响应。由于网络的不稳定性,我们并非使用TCP握手连接的方法对服务器2单独建立连接,而采用了更为轻量级的UDP技术来对服务器2发送请求,具体请求格式如下:http://host/Medical/query/getDepartments?firsdepartment=1&seconddepartment=2
移动终端1接受来自服务器2传递过来的信息后,对其进行格式化,然后输出到用户可视界面;其中,疾病列表是以所选类别的方式向服务器2发送请求的,也就是说当浏览到某一二级分类的时候手机端需要向服务器2发送新的请求以便进行加载显示。这样做的好处就是能够优化网络,减轻移动终端1内存的负担,让应用变得更为轻量级。
搜索模块12的主要功能是为用户提供一个可以利用关键词进行疾病搜索查询的平台,该功能通过向服务器2发送搜素请求,接收服务器2的响应,向用户反馈搜索信息,提供与关键字相关联的疾病供参考查阅。该功能的使用过程为,用户先输入需要查询的关键字,输入完成后点击搜索按钮,等待信息返回,最后展示出来的疾病列表便是与用户查询相关的疾病信息。
该模块同时还在搜索界面下提供了热门搜索,热门搜索为辅助功能,它提供了所有用户在以前的搜索记录中反映出的最常用的搜索关键字,方便了用户查找热门关键词的疾病。热门搜索会根据全部搜索记录,给出最常搜索的至少5个关键词。
搜索模块12的具体实现同浏览模块11类似,通过使用因特网络向服务器2发送搜索请求,接收来自服务器的响应数据,对其进行格式化后输出到用户的可视界面。
健康报告模块13的主要功能是通过用户的搜索记录或者提供其他的参考关键字,通过服务器2使用数据挖掘算法得到与用户输入信息最接近的疾病信息;也就是说,通过用户输入对自己身体状态的描述,该模块将会返回一个推荐科室,该科室表示的是与用户输入最相关的科室,能够提供给用户看病时作参考;或,模块会返回一个相似疾病列表,该列表是根据用户输入而匹配出的最相似疾病列表。具体实现功能将在后续详细描述。
该健康报告模块3同上述两个模块类似,仅负责向服务器2发送查询命令,接收来自服务器的响应信息,通过对信息的格式化展现到客户端可视界面上。
本发明的服务器2的系统所应用的是开源web框架——Django,由python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。他最初是被开发来用户管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,及是CMS软件。
近年来Django迅速发展,应用越来越广泛,他的核心组件有:
a)用于创建模型的对象关系映射
b)为最终用户设计的完美管理界面
c)一流的URL设计
d)设计者有好的模板语言
e)缓存系统
Django以Python写成,Python是一门面向对象的应用程序开发语言,他同时兼具系统语言的强大和脚本语言的灵活迅速,并且具备多种可快速兼容的第三方程序库,这无形中使得Python以及建立在Python之上的Django具备更多强大的支持。
在该项目中,后台不需要复杂的逻辑与文件处理,只需要简单的数据CRUD操作,甚至不需要特别的网页页面,因此为了节省工作量便使用了Django作为后台支持,因为该框架把控制层封装了,只需使用少数调用代码与数据操作便能完成很多工作,并且该框架基于简便灵活的Python语言,在文本处理和数据处理的能力上特别优秀。至于后台数据库则选用MySQL作为支持,Django对其也提供了完美的兼容。由于MySQL存储中文数据,对中文索引的支持比较麻烦,所以在项目中集成haystack并搭配whoosh和jieba中文分词库构建了一个全文检索引擎。全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。其中,haystack为一个第三方App,同时支持包括whoosh在内的四种全文检索引擎,再将whoosh结合jieba分词进行设置,便成功构建中文检索引擎。
具体的,所述服务器2包括:
服务器查询模块21,用于接收移动终端1的浏览请求,根据浏览请求向数据库3发送查询指令,将数据库3返回的数据按照规定格式发送至所述移动终端。
服务器搜索模块22,用于接收移动终端1的搜索请求,根据搜索请求向数据2库发送搜索指令,将数据库返回的数据按照规定格式发送至所述移动终端。
服务器健康报告模块23,用于接收用移动终端1的健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算与所述关键词组最相关的疾病,将该疾病的相关信息按照规定格式发送至所述移动终端1。
服务器查询模块21负责接受来自移动终端1通过因特网发来的浏览请求,接收到命令后向数据库3发送查询指令,将数据库3返回的数据按照规定的格式通过网络传输到目标移动终端。
在一些可选实施例汇总,服务器查询模块21发送的格式规定如下:
1)所述服务器查询模块21发送给移动终端1的返回信息为字符串格式。
2)所述格式分为两类:部分类别和疾病类别,部分类别信息是一级科室、二级科室和疾病部位信息,疾病类别信息是疾病详细信息。
3)所述部分类别的返回信息格式为以字典形式组成的分类信息,其中名称以unicode的编码形式编码。
4)所述疾病类别返回信息格式为以字典形式组成的疾病信息,其中每个疾病属性内容以unicode的编码形式编码。
服务器搜索模块22主要负责接受来自移动终端1通过因特网发来的搜索指令,再对数据库3进行检索操作,检索操作的关键步骤将会在之后详细说明。检索结果按照一定的格式返回给移动终端1。其次,服务器搜索模块22在搜索过程中同时记录以移动终端1为单位的用户的搜索信息,并且提供热门搜索词条显示在图形界面上。该模块具体工作流程如下:
①接收到来自移动终端激活服务器搜索模块的信息,该信息包括:移动设备ID。
②向数据库发送查询命令,获得该设备ID的历史查询记录,选出搜索记录前五名(不足五名则发送全部)。
③向移动终端发送该ID的查询热词。
④接收来自该移动终端发送的查询请求信息,该信息包括:查询关键字、设备ID、页号。
⑤添加搜索记录到数据库并对接收的关键字对数据库进行检索
⑥接收数据库发送的检索结果。
⑦将结果按页号发送给移动终端
其中,激活动作表示用户将移动端的用户界面滑至搜索界面,准备进行搜索。
具体的搜索原理为:
利用爬虫获取的原始数据对其进行分词处理,分词之后的数据以词为单位建立倒排索引,当用户进行搜索时,我们直接用词语检索便可返回对应的结果;相比于传统的索引结构,以疾病名称为键值生成的表若要对某一个词语进行检索,需要进行大量的扫描工作,因此倒排索引的方法能够快速的对目标信息进行查找。具体搜索方式稍后介绍。
所述系统服务器端健康报告模块主要负责通过接收用户输入的关键词,通过朴素贝叶斯算法计算输入的关键词组最相关的疾病,并返回给用户。该功能并非能准确的计算出用户所患疾病,而是根据用户搜索记录或者提供其他的健康报告关键字来进行分析,得出供用户参考的疾病信息。
具体的,实现逻辑如下:
①接收来自用户输入的关键词组,设为X=[x1,x2,....,xn],X为关键词向量,xn为第n个关键词。
②对数据库中每个疾病的详细信息中的关键词进行一次扫描,发现某一疾病关键词中包含搜索关键词时对该疾病Sn加1,Sn表示第n个疾病信息中包含搜索关键词的个数。
③对S1、S2、S3....Sn进行从大到小的排序,按顺序排列。
④将排列后的结果向移动端输出。
关于朴素贝叶斯理论原理,及如何应用于本发明,在下文中详述。需要注意的是,上述字母所指代的内容仅在本段落生效,在本文其他段落,相同字母出现时,其意义以所跟说明为准。
服务器健康报告模块23能够记录对应移动终端的ID的参考记录,该记录包含查询过的关键词,方便用户下次的查询;同时也能够对记录进行删除操作,方便用户对自己的查询记录进行清理,从而保护自己的隐私。推荐科室功能同理。
所述服务器健康报告模块23对应的终端设备有三种操作:激活操作、参考操作、添加关键词操作和删除关键词操作。
激活操作主要流程为:
①用户将设备端可视界面滑动到健康报告模块,终端向服务器发送激活指令信息,所述信息包括:终端ID;
②所述服务器健康报告模块接收激活指令信息,并向数据库发送查询指令;
③接受来自数据库的查询结果,查询结果内容包括所属设备ID的参考关键词记录;
④将记录按照规定的格式发送给移动终端;参考操作主要流程为:
①用户点击参考按钮,移动终端发送参考指令,服务器健康报告模块接受该指令信息,该信息包括:关键词组;
②所述服务器健康报告模块向数据库发送查询操作,遍历所有含有关键词的疾病,按照上述实现逻辑进行处理
③所述服务器健康报告模块向数据库发送查询操作,遍历所有含有关键词的科室,按照上述实现逻辑进行处理
④对排名结果进行整理,向终端发送结果信息,所述信息包括:疾病列表、疾病信息和科室信息
添加/删除关键词操作主要流程主要在移动终端实现,这里不展开描述。
相较于普通的疾病查询系统,他们通常所使用的都是类似于MySQL/Apache之类的服务器,这类服务器存在的缺点是,在数据不断增大的情况下到了一定量级,该类型服务器的处理查询速度将会遇到瓶颈,极大的影响了用户任务处理的速度。针对这一问题,我们通过使用开源的云技术Hadoop搭建了后台数据库。Hadoop是一个能够对海量数据进行分布式处理的软件框架,他提供了可靠、高效、高容错性、高扩展性的数据存储和处理服务。
数据库3负责海量疾病信息的存储、疾病检索辅助表和用户数据的记录,其中海量疾病信息包括:疾病名称、症状与并发症、治疗与缓解和病因与预防;疾病检索辅助表包括:分词倒排索引表、一级科室包含索引表、二级科室包含索引表等;用户数据包括:用户查询记录表。
数据库3至少包括以下模块:
网络爬虫模块31,使用网络爬虫自动在互联网上搜索疾病相关的网页,对网页进行下载,分析网页中有价值的数据,存入数据库。
数据处理模块32,用于完成基本的查询、搜索功能;包括中文分词单元和疾病排序单元;中文分词单元采用复合中文分词法对相关语句进行分词,疾病排序单元根据疾病的被检索次数和相关度对疾病名称进行排序。
数据库3保存的信息包括:用户信息、疾病信息、疾病-科室所属表、病患部位-疾病所属表和分词检索表等。
其中,为了疾病分类浏览功能更具备条理性,在该项目中将疾病所属科室及部位做了分级,例如,小儿急性胃炎疾病属于一级科室内科中的二级科室消化内科,小儿脑瘫疾病从患病部位分类则属于二级部位颅脑,而颅脑部位属于一级患病部位头部。这些数据都是通过爬虫程序爬取后整理所得,具体爬取方法下文将详细描述。具体的分词方法也在下文详述。
以上介绍了本发明提供的一种健康监测系统,下面介绍本发明提供的,以上述健康监测系统作为框架的健康监测方法。
本发明提供一种健康监测方法,适用于包括移动终端、服务器和数据库的系统,包括以下步骤:
S1,移动终端向服务器发送浏览请求、搜索请求或健康报告请求。
S2,服务器接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令。
S3,服务器接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令。
S4,服务器接收健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算所述关键词组的最相关疾病,向数据库请求所述最相关疾病的信息。
S5,数据库根据相应指令,利用网络爬虫从互联网获取相关数据。
S6,服务器将数据库返回的数据按照规定格式发送至所述移动终端。
其中,步骤S1中,移动终端1根据用户输入的操作指令决定发送浏览请求、搜索请求或健康报告请求中的一种请求,如果发送的是搜索请求或健康报告请求,则移动终端1同时向服务器2发送用户输入的搜索关键字(用于搜索请求)或关键词组(用于健康报告请求)。
上述步骤S2-S4为并列优先级,根据步骤S1中的请求,选择步骤S2-S4中的某一相应步骤进行执行。
上述步骤S2中,在接收到相应的指令后,数据库首先检索自身是否保存有被检索的疾病信息,如果有,则将该疾病的结构化信息发送至服务器;如果没有,则通过网络爬虫从因特网爬取相应信息。
首先,图3为本发明提供的一种健康监测方法的实施例中使用网络爬虫获取疾病名称的步骤流程图。参考图3,数据库执行获取未知疾病名称的步骤:
S201,选择某个未获取数据的科室主页或者某个患病部位主页。
S202,使用爬虫爬取网页内数据,解析出页面中列出的疾病名。
S203,对每个解析出的疾病名,判断是否已存入数据库,若已存在则选择下一疾病。
S204,存入疾病名;
S205,判断该页面是否存在下一页信息,若存在,选择下一页,跳至步骤S202;
S206,判断是否存在未获取的疾病科室或患病部位,若存在,跳至步骤S201。
通过上述爬取步骤,可以将数据库中未保存的疾病名称补充入数据库,并存入数据库中的疾病-科室所属表或病患部位-疾病所属表中。接下来需要将疾病的具体信息也存入数据库,图4为本发明提供的一种健康监测方法的实施例中使用网络爬虫获取疾病具体信息的步骤流程图。参考图4,服务器还会执行获取疾病具体信息的步骤:
S211,从数据库获得疾病名称;
S212,搜索该疾病名,获得返回页,解析页面中的链接;
S213,获取一条链接页面;
S214,判断是否在该链接页面中存在该疾病的结构化信息,判断是否在数据库中已存入该条结构化信息,若未存入,从网页中解析出结构化数据并存入数据库中;
S215,判断是否还有链接信息未被爬取,若有则跳至步骤S213;
S216,判断是否数据库中还存在疾病名称未被爬取,若有则跳至步骤S211。
上述步骤即为数据库使用网络爬虫爬取疾病信息的过程。在每次用户执行疾病浏览操作时,数据库都会将没有保存的疾病信息完善入信息库中,这样在之后再次请求该疾病信息时,可以快速地进行调用,提高检索速度。
可选的,数据库对每个疾病的疾病信息的录入时间进行记录,对于录入时间超过30天以上的疾病信息,自动对其疾病名称进行检索,并使用检索结果对数据库原本存储的信息进行更新。
为了满足所述系统的查询和参考功能,我们需要对所抓取的疾病信息的数据进行中文分词,目前网络上流行的中文分词系统繁多,分词效果高低各异,我们通过同时使用多种方法来获得更准确的分词效果,同时,由于医学的特殊性,我们还增加了从医学库中获得专业医学术语词汇,进一步的增加分词的准确度。分词之后,我们通过倒排索引的方式来存储分词,简单来说,我们通过把分出的词语作为键值,包含对应词语下的文本作为该键值记录下的内容进行存储。从而提高对词语检索的速度。例如,数据库共存储有三份疾病信息,分别为文件1:A-B-C,文件2:A-B和文件三:A,其中A、B、C均为分词操作后的分词。则在数据库中存储有三个键值:A,B,C;键值A下列有三份文件,文件1、文件2和文件3;键值B下有两份文件,文件1和文件2;键值C下有一份文件,文件1。这样假若用户检索B,则只需要把键值B下的所有文件列出即可;假若用户检索B和C,则选取键值B和键值C下共有的文件列出即可。通过这样的分类,可以大大提高检索准确率和检索速度。
本发明采用包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法在内的多种分词方法对新存入的疾病数据进行分词处理。也即采用多个分词器,每个分词器使用不同的分词方法,使用投票机制来选出合适的分词决定。当不同分类器得出的分词结果不相同时,每个分词器对现有的结果投票,投票数最多的那个分类方案作为输出结果。其中不同的分类器会赋予不同的权值,具有较高准确率的分类器权值越高,对最终分类结果的影响越大。
通常针对某一关键字或某些关键字进行搜索返回的信息是以匹配程度的高低顺序来排列的,我们发现通过匹配程度的高低并不一定就能合理的展现最有可能患的病,如果我们搜索发烧,在匹配程度相似的情况下可能是一种并不常见的疾病排列在疾病列表的前面,而我们所最常见的感冒却可能排在用户不容易找到的后方,为了解决这一问题,我们采用数据挖掘的技术对每个疾病进行打分,通过得分的高低再对疾病列表进行二次排序,优化排序结果,改善用户体验。
在步骤S3中,具体的,我们通过利用互联网搜索所返回的搜索条目数来对疾病名称进行打分,并将获得的分数存入数据库,在需要对疾病进行输出时利用打分进行排序。在互联网中,如果某一个事物会经常性的困扰大家,那么大家对其的搜索次数也会增加,反过来关于该事物的报道也会增加。也就是说,我们通过搜索引擎对疾病进行搜索,在返回的首页中搜索引擎会告诉我们一共搜索到多少个词条,该疾病所对应搜索到的词条数也就是该疾病的分数。分数的高低体现了该疾病的常见性,越是常见的疾病网络上关于它的信息会越多,因而打分也就越高。通过排序对检索到的信息的排序进行优化,就可以的到较为准确的排序结果。
在步骤S4中,服务器接收健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算所述关键词组的最相关疾病,向数据库请求所述最相关疾病的信息。其中朴素贝叶斯算法的实现逻辑已经于前文介绍,在此具体说明如何将其应用于本发明。
用户在进行健康报告检索时,会输入数个描述自身健康状况的词语,在此将其定义为关键词组X,X包含n个全部关键词x1至xn,n为大于0的整数,表示为X=[x1,……,xn];
获取数据库的m个全部疾病类别y1至ym,m为大于0的整数;
计算关键词组X属于疾病yj的概率p(yj|X),j为取值范围是[1,m]的整数,计算式如下:
其中P(X|yj)表示在疾病yj的文档中,关键词组X出现的概率;P(yj)表示疾病yj在数据库的全部文档中出现的概率;P(X)表示关键词组在数据库出现的频率。
我们需要分别求出P(yj)、P(X)和P(X|yj)。
P(yj)表示疾病yj在数据库的全部文档中出现的概率,在本数据库中每个疾病属于一个类别,因此每个疾病的对应在本数据库中出现的频率是固定的也就是1/m,即P(yj)=1/m。
P(X)表示关键词组在数据库出现的频率,具体算法公式为P(X)=P(x1)×P(x2)×......×P(xn)。其中P(xi)表示关键词xi在整个数据库的全部分词中出现的频率。可以看到,当某个关键词在整个数据库出现的频率越高时,那么这个关键词对于判断该疾病类型的影响力越低。
P(X|yj)表示在疾病yj的文档中,关键词组X出现的概率。相应的计算公式为P(X|yj)=P(x1|yj)×P(x2|yj)×......×P(xn|yj),其中P(xi|yj)表示在疾病yj的文档中关键词xi出现的概率。为了防止某一关键词并不存在,导致最后P(X|yj)值计算为0,我们对结果为0的P(X|yj)取值都额外加上一个平滑参数s,s=1/N,N表示数据库的所有疾病文档中的分词数量。
下面通过一个简单的例子对上述算法进行计算。
数据库共有两个文档,一篇名为正常文档,一篇名为垃圾文档。
正常文档的内容是:这是一篇正常文档;分词结果为:这/是/一篇/正常/文档;总文档数量为2,所以正常文档在数据库中出现的频率是二分之一,即P(正常文档)=0.5。
垃圾文档的内容是:这是一篇垃圾文档;分词结果为:这/是/一篇/垃圾/文档;总文档数量为2,所以垃圾文档在数据库中出现的频率也是二分之一,即P(垃圾文档)=0.5。
接收到用户输入的关键词组:这是垃圾语句。
首先对关键词组进行分词处理,得到分词结果:这/是/垃圾/语句。
然后计算相应概率:
P(正常文档|输入)=P(输入|正常文档)P(正常文档)/P(输入)
=0.2*0.2*0.1*0.1*0.5/(0.2*0.2*0.1*0.1)
=0.5
同理得到P(垃圾文档|输入)=1
因此,可以得到用户输入的关键词组与分类为垃圾文档的文档关联度更高。
从上面所述可以看出,本发明提供的一种健康监测方法及系统提供了一种随时随地能够查阅疾病信息的方案,通过使用该系统,用户可以在任何可以连接网络的地方查阅海量的疾病信息,并且利用参考功能,判断自己最可能患有的疾病,为生活提供了便利。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种健康监测方法,其特征在于,适用于包括移动终端、服务器和数据库的系统,包括以下步骤:
移动终端向服务器发送浏览请求、搜索请求或健康报告请求;
服务器接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令;
服务器接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令;
服务器接收健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算所述关键词组的最相关疾病,向数据库请求所述最相关疾病的信息;
数据库根据接收到的指令,利用网络爬虫从互联网获取与该指令相关的数据;
服务器将数据库返回的数据按照标准格式发送至所述移动终端;
其中,服务器执行搜索请求的步骤包括:
服务器接收移动终端发送的移动设备ID;
服务器向数据库发送搜索指令,获得该移动设备ID的历史搜索记录,选出搜索记录中被搜索次数最多的至少5个搜索关键字,作为查询热词;
服务器向移动终端发送该移动设备ID的查询热词;
服务器接收来自该移动终端发送的搜索请求,该请求包括:搜索关键字、移动设备ID、页号;
服务器添加搜索记录到数据库,并根据搜索关键字对数据库进行检索;
服务器接收数据库发送的检索结果;
服务器将结果按页号发送给移动终端。
2.根据权利要求1所述的一种健康监测方法,其特征在于,服务器利用朴素贝叶斯算法计算与所述关键词最相关的疾病的步骤包括:
获取用户输入的关键词组X,X包含n个全部关键词x1至xn,n为大于0的整数,表示为X=[x1,……,xn];
获取数据库的m个全部疾病类别y1至ym,m为大于0的整数;
计算关键词组X属于疾病yj的概率P(yj|X),j为取值范围是[1,m]的整数,计算式如下:
其中P(X|yj)表示在疾病yj的文档中,关键词组X出现的概率;P(yj)表示疾病yj在数据库的全部文档中出现的概率;P(X)表示关键词组在数据库出现的频率。
3.根据权利要求1所述的一种健康监测方法,其特征在于,还包括以下步骤:
选择某个未获取数据的科室主页或者某个患病部位主页;
使用爬虫爬取网页内数据,解析出页面中列出的疾病名;
对每个解析出的疾病名,判断是否已存入数据库,若已存在则选择下一疾病;
存入疾病名;
判断该页面是否存在下一页信息,若存在,选择下一页,重复上述爬取过程;
判断是否存在未获取的疾病科室或患病部位,若存在,选择某个未获取数据的科室主页或者某个患病部位,重复上述爬取过程。
4.根据权利要求3所述的一种健康监测方法,其特征在于,还包括以下步骤:
从数据库获得疾病名称;
搜索该疾病名,获得返回页,解析页面中的链接;
获取一条链接页面;
判断是否在该链接页面中存在该疾病的结构化信息,判断是否在数据库中已存入该条结构化信息,若未存入,从网页中解析出结构化数据并存入数据库中;
判断是否还有链接信息未被爬取,若有则获取新的页面链接;
判断是否数据库中还存在疾病名称未被爬取,若有则重复上述爬取步骤。
5.根据权利要求1所述的一种健康监测方法,其特征在于,还包括以下步骤:
数据库采用包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法在内的多种分词方法对新存入的疾病数据进行分词处理。
6.一种健康监测系统,其特征在于,包括:
移动终端,用于用户对系统的访问,向服务器发送浏览请求、搜索请求或健康报告请求;
服务器,用于处理用户与系统间的命令和系统数据,接收到移动终端发送的请求后,向数据库发送查询指令、搜索指令或健康报告指令;将数据库返回的数据按照规定格式发送至所述移动终端;
数据库,用于存储该系统提供服务的所需信息,根据服务器的指令处理并向服务器发送相应数据;
其中,所述移动终端包括:
浏览模块,用于向服务器发送浏览请求,获得服务器的响应后,将取得的数据展示给用户;浏览模块提供包括按疾病科室分类浏览和按疾病部位分类浏览在内的浏览模式;
搜索模块,根据输入的关键词向服务器发送搜索请求,获得服务器的响应后,将服务器搜索到的疾病信息展示给用户;
健康报告模块,根据用户提供的关键词组,向服务器发送健康报告请求,获得服务器的响应后,将服务器提供的、与关键词组最接近的疾病信息展示给用户。
7.根据权利要求6所述的一种健康监测系统,其特征在于,所述服务器包括:
服务器查询模块,用于接收移动终端的浏览请求,根据浏览请求向数据库发送查询指令,将数据库返回的数据按照规定格式发送至所述移动终端;
服务器搜索模块,用于接收移动终端的搜索请求,根据搜索请求向数据库发送搜索指令,将数据库返回的数据按照规定格式发送至所述移动终端;
服务器健康报告模块,用于接收用移动终端的健康报告请求,根据健康报告请求的关键词组,利用朴素贝叶斯算法计算与所述关键词组最相关的疾病,将该疾病的相关信息按照规定格式发送至所述移动终端。
8.根据权利要求6所述的一种健康监测系统,其特征在于,所述数据库包括:
网络爬虫模块,使用网络爬虫自动在互联网上搜索疾病相关的网页,对网页进行下载,分析网页中有价值的数据,存入数据库;
数据处理模块,用于完成基本的查询、搜索功能;包括中文分词单元和疾病排序单元;中文分词单元采用复合中文分词法对相关语句进行分词,疾病排序单元根据疾病的被检索次数和相关度对疾病名称进行排序。
CN201510305116.0A 2015-06-05 2015-06-05 一种健康检测方法及系统 Active CN104915413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510305116.0A CN104915413B (zh) 2015-06-05 2015-06-05 一种健康检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510305116.0A CN104915413B (zh) 2015-06-05 2015-06-05 一种健康检测方法及系统

Publications (2)

Publication Number Publication Date
CN104915413A CN104915413A (zh) 2015-09-16
CN104915413B true CN104915413B (zh) 2018-09-07

Family

ID=54084476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510305116.0A Active CN104915413B (zh) 2015-06-05 2015-06-05 一种健康检测方法及系统

Country Status (1)

Country Link
CN (1) CN104915413B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105534476A (zh) * 2015-12-05 2016-05-04 新乡医学院第一附属医院 儿科肾脏疾病和损伤的早期检测系统
CN105653840B (zh) * 2015-12-21 2019-01-04 青岛中科慧康科技有限公司 基于词句分布表示的相似病例推荐系统及相应的方法
US20170344711A1 (en) * 2016-05-31 2017-11-30 Baidu Usa Llc System and method for processing medical queries using automatic question and answering diagnosis system
CN107562756B (zh) * 2016-07-01 2021-02-02 阿里巴巴集团控股有限公司 一种确定对象信息的方法和设备
CN108287826B (zh) * 2016-10-19 2021-12-17 上海明品医学数据科技有限公司 一种基于医疗系统的病例读取方法
CN107993717A (zh) * 2016-10-25 2018-05-04 英业达科技有限公司 个人健康需求指引系统与方法
CN106529149B (zh) * 2016-10-27 2019-02-15 郑州云海信息技术有限公司 一种产检信息管理服务端、客户端、方法和系统
US20180144154A1 (en) * 2016-11-22 2018-05-24 Microsoft Technology Licensing, Llc Providing healthcare-related information
CN106777964A (zh) * 2016-12-13 2017-05-31 天津迈沃医药技术股份有限公司 基于医疗信息平台的数据信息排序方法及系统
CN106933813A (zh) * 2017-02-16 2017-07-07 牡丹江师范学院 一种用于英语翻译的文本数据处理方法
CN107680689A (zh) * 2017-05-05 2018-02-09 平安科技(深圳)有限公司 医疗文本的潜在疾病推断方法、系统及可读存储介质
CN108399953A (zh) * 2018-03-12 2018-08-14 平安健康互联网股份有限公司 基于体检报告的健康评分方法、装置及存储介质
CN109034781B (zh) * 2018-06-27 2022-02-22 美味不用等(上海)信息科技股份有限公司 一种收银系统识别方法、识别装置及计算机可读存储介质
CN109473154B (zh) * 2018-10-16 2023-09-12 平安万家医疗投资管理有限责任公司 基于知识关系分析的诊后提醒方法及终端设备
CN109545394B (zh) * 2018-11-21 2021-08-17 上海依智医疗技术有限公司 一种问诊方法及装置
CN110504033A (zh) * 2019-08-28 2019-11-26 广东中科康仪生物技术有限公司 一种用于医学检测数据的分类统计收集方法
CN111223533B (zh) * 2019-12-24 2024-02-13 深圳市联影医疗数据服务有限公司 一种医疗数据检索方法及系统
CN111353050A (zh) * 2019-12-27 2020-06-30 北京合力亿捷科技股份有限公司 一种电信客服垂直领域的词库构建方法及工具
CN116662619B (zh) * 2023-05-31 2024-02-09 海通证券股份有限公司 数据分析系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441636A (zh) * 2007-11-21 2009-05-27 中国科学院自动化研究所 一种基于知识库的医院信息搜索引擎及系统
CN102043812A (zh) * 2009-10-13 2011-05-04 北京大学 一种医疗信息的检索方法及系统
CN103678935A (zh) * 2013-12-25 2014-03-26 柳州市欧博科技有限公司 基于云服务平台的社区医疗健康的数字化诊疗集成系统
CN104063455A (zh) * 2014-06-24 2014-09-24 北京奇虎科技有限公司 一种基于搜索获取疾病咨询信息的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567953B2 (en) * 2002-03-01 2009-07-28 Business Objects Americas System and method for retrieving and organizing information from disparate computer network information sources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441636A (zh) * 2007-11-21 2009-05-27 中国科学院自动化研究所 一种基于知识库的医院信息搜索引擎及系统
CN102043812A (zh) * 2009-10-13 2011-05-04 北京大学 一种医疗信息的检索方法及系统
CN103678935A (zh) * 2013-12-25 2014-03-26 柳州市欧博科技有限公司 基于云服务平台的社区医疗健康的数字化诊疗集成系统
CN104063455A (zh) * 2014-06-24 2014-09-24 北京奇虎科技有限公司 一种基于搜索获取疾病咨询信息的方法和装置

Also Published As

Publication number Publication date
CN104915413A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
CN104915413B (zh) 一种健康检测方法及系统
KR101793222B1 (ko) 어플리케이션 검색들을 가능하게 하기 위해 사용되는 검색 인덱스의 업데이트
US7739221B2 (en) Visual and multi-dimensional search
KR100461019B1 (ko) 소형 화면 단말기를 위한 웹 컨텐츠 변환 시스템 및 방법
US9020947B2 (en) Web knowledge extraction for search task simplification
US8473473B2 (en) Object oriented data and metadata based search
JP3717808B2 (ja) 情報検索システム
US9122769B2 (en) Method and system for processing information of a stream of information
CN103631794B (zh) 一种用于对搜索结果进行排序的方法、装置与设备
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
US20110167053A1 (en) Visual and multi-dimensional search
US20010044800A1 (en) Internet organizer
CN107092639A (zh) 一种搜索引擎系统
WO2014168717A2 (en) System and apparatus for information retrieval
US20110022635A1 (en) Method and System to Formulate Queries With Minivisuals
CN102236696A (zh) 从非结构化文本提取可伸缩增量语义实体和相关性
US20160299911A1 (en) Processing search queries and generating a search result page including search object related information
Wang et al. A novel blockchain oracle implementation scheme based on application specific knowledge engines
TW201804345A (zh) 基於結構化網路知識的自動中文本體庫建構方法、系統及電腦可讀媒體
KR101864401B1 (ko) 전통문화 융복합 지원을 위한 디지털 연표 표출 시스템
WO2015198113A1 (en) Processing search queries and generating a search result page including search object related information
Aslam et al. SPedia: a central hub for the linked open data of scientific publications
CN116186413A (zh) 一种用于多模态特征推荐的方法和系统
Burrows et al. A new model for manuscript provenance research: The mapping manuscript migrations project
WO2015198114A1 (en) Processing search queries and generating a search result page including search object information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant