CN111984851B - 医学资料搜索方法、装置、电子装置及存储介质 - Google Patents

医学资料搜索方法、装置、电子装置及存储介质 Download PDF

Info

Publication number
CN111984851B
CN111984851B CN202010917940.2A CN202010917940A CN111984851B CN 111984851 B CN111984851 B CN 111984851B CN 202010917940 A CN202010917940 A CN 202010917940A CN 111984851 B CN111984851 B CN 111984851B
Authority
CN
China
Prior art keywords
dictionary
word
keywords
prefix
keyword
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
CN202010917940.2A
Other languages
English (en)
Other versions
CN111984851A (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.)
Shenzhen Ping An Smart Healthcare Technology Co ltd
Original Assignee
Shenzhen Ping An Smart Healthcare Technology Co ltd
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 Shenzhen Ping An Smart Healthcare Technology Co ltd filed Critical Shenzhen Ping An Smart Healthcare Technology Co ltd
Priority to CN202010917940.2A priority Critical patent/CN111984851B/zh
Publication of CN111984851A publication Critical patent/CN111984851A/zh
Application granted granted Critical
Publication of CN111984851B publication Critical patent/CN111984851B/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/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Abstract

本申请提供一种医学资料搜索方法,包括:接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理;输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词;计算所述多个关键词中每个关键词的词权重,输出多个词权重信息;根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及基于选取的关键词在数据库中进行检索,得到检索结果。本申请还提供一种医学资料搜索的装置、电子装置及存储介质。通过本申请可以快速搜索医学资料。

Description

医学资料搜索方法、装置、电子装置及存储介质
技术领域
本申请涉及人工智能技术领域,具体涉及一种医学资料搜索方法、装置、电子装置及存储介质。
背景技术
目前市场上有很多成功的医学产品,都拥有大量的医学文献和医学知识供病人、医学生、医生去查询以及学习使用。然而,传统的检索医学文献都是通过特定的关键词去检索对应的文献。知识库的内容数据越多,内容越丰富,响应的检索时间、准确性也会相对降低,并且耗费的成本也越高。即使检索出结果,还需要用户人为的通过自己的目的再次进行筛选,以达到找出更精准的、用户更想要的内容,这会大幅度的降低用户的体验度和兴趣。
发明内容
鉴于以上内容,有必要提出一种医学资料搜索方法、装置、电子装置及存储介质,可以快速检索医学资料。
本申请的第一方面提供一种医学资料搜索方法,所述方法包括:
接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;
预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理;
输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词;
计算所述多个关键词中每个关键词的词权重,输出多个词权重信息;
根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及
基于选取的关键词在数据库中进行检索,得到检索结果。
根据本申请一些实施方式,中文分词处理所述询问数据的方法包括:
基于结巴分词和统计词典构造前缀词典;
对所述查询数据进行词图扫描得到多个单独的子句,生成每个单独的子句对应的有向无环图;
采用动态规划在所述有向无环图中查找最大概率路径,找出基于词频的最大切分组合,得到多个分词词项。
根据本申请一些实施方式,所述基于结巴分词和统计词典构造前缀词典包括:
定义第一字典,所述第一字典为空的python字典;
遍历统计词典的第一行,取词条作为所述第一字典的键,词频作为对应的键值;
遍历所述词条的前缀,如果所述词条的前缀对应的键不在所述第一字典里,设定所述词条的前缀为所述第一字典的键;
如果所述词条的前缀对应的键在所述第一字典里,继续遍历所述统计词典的下一行,直到遍历完所述统计词典中的最后一行,得到所述前缀词典。
根据本申请一些实施方式,所述生成每个单独的子句对应的有向无环图包括:
定义第二字典,所述第二字典为空的python字典;
遍历所述多个单独的子句中的当前子句,当前子句元素的索引作为所述第二字典的一个键,对应的键值为一个python列表;
以所述索引作为子句的子串的起始索引,不断向后遍历生成不同的子串;
判断所述子串是否在所述前缀词典里且判断所述子串在所述前缀词典里的键值是否为零;
如果所述子串在前缀词典里且键值不为零,将所述子串的终止索引添加到所述python列表中;
当遍历完所述当前子句的所有子串之后,得到所述当前子句对应的有向无环图。
根据本申请一些实施方式,通过多标签分类算法对所述医学疾病模型进行训练,包括:获取多个查询数据;
对每个查询数据中的一个或多个关键词进行标记;
基于标记了一个或多个关键词的查询数据及对应关键字的类别构建样本数据集;
将所述样本数据集随机分为第一数量的训练集和第二数量的测试集;
将所述训练集输入至卷积神经网络中进行训练,得到医学疾病模型;
将所述测试集输入至所述医学疾病模型中进行测试,得到测试通过率;
判断所述测试通过率是否大于预设通过率阈值;
当所述测试通过率大于或者等于所述预设通过率阈值时,结束医学疾病模型的训练;否则,当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量并基于增加数量后的训练集训练卷积神经网络直至所述测试通过率大于或者等于所述预设通过率阈值。
优选地,采用基于点击日志的方法计算所述多个关键词中每个关键词的权重,包括:
根据所述查询数据将所述多个关键词组合成多个子片段;
计算所述子片段中每个关键词的词权重和词丢弃概率;及
通过以下公式计算所述查询数据中的每个关键词的词权重;
其中,p(term|query)为所述查询数据中每个关键词的词权重,p(term|frag)为所述子片段中每个关键词的词权重,pvte(term|frag)为所述子片段中每个关键词的词丢弃概率。
根据本申请一些实施方式,基于选取的关键词在所述数据库中检索,通过预设匹配算法在所述数据库匹配与所述选取的关键词相符的内容,所述预设匹配算法包括整体匹配算法、循环匹配算法和循环叠加匹配算法。
本申请的第二方面提供一种医学资料搜索的装置,所述装置包括:
接收模块,用于接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;
预处理模块,用于预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理;
输入模块,用于输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词;
计算模块,用于计算所述多个关键词中每个关键词的词权重,输出多个词权重信息;
选取模块,用于根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及
检索模块,用于基于选取的关键词在数据库中进行检索,得到检索结果。
本申请的第三方面提供一种电子装置,所述电子装置包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述医学资料搜索方法。
本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述医学资料搜索方法。
本申请所述的医学资料搜索方法、装置、电子装置及存储介质。通过语义分析和关键词匹配以及关键词词权重计算,再对每个关键词的词权重进行排序,获取排在前面的预设个数词权重信息对应的关键词后,基于选取的关键词进行检索。从而能够帮助用户节省查询文献的时间,高效准确地找到用户需要查询的资料,从而帮助用户快速的获取医学知识。本申请通过人工智能提高检索效率,能够推动智慧医疗及智慧城市的建设。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例一提供的医学资料搜索方法的流程图。
图2是本申请实施例二提供的医学资料搜索的装置的功能模块图。
图3是本申请实施例三提供的电子装置的示意图。
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例的医学资料搜索方法应用在电子装置中。所述对于需要进行医学资料搜索的电子装置,可以直接在电子装置上集成本申请的方法所提供的搜索医学资料的功能,或者安装用于实现本申请的方法的客户端。再如,本申请所提供的方法还可以以软件开发工具包(Software Development Kit,SDK)的形式运行在服务器等设备上,以SDK的形式提供搜索医学资料的功能的接口,电子装置或其他设备通过提供的接口即可实现搜索医学资料的功能。
实施例一
图1是本申请实施例一提供的医学资料搜索方法的流程图。根据不同的需求,所述流程图中的执行顺序可以改变,某些步骤可以省略。
步骤S1,接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息。
在本实施方式中,可以通过电子装置中的输入/输出设备,接收用户输入的询问数据。所述询问数据可以为用户录入的想要询问的某种病症的问题,例如该询问数据可以是“鞘膜积液的常规治疗方法有哪些”或者“高血压有哪些临床表现症状”。
在本实施方式中,所述询问数据可以是语音询问数据,也可以是文本询问数据。例如,当用户需要查询关于心衰的相关治疗方案时,可以通过语音输入设备(如麦克风)输入“我想知道心衰的治疗方案”的语音信息,也可以通过键盘输入“我想知道心衰的治疗方案”的文本信息。其中,所述询问数据可以是关于疾病、药品、指南、专家作者、临床表现、学校等信息的数据。
步骤S2,预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理。
在本实施方式中,所述中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。通过中文分词处理可以将文本中的每一个句子,按照一定的规则划分成有序的词语片段,其中标点、词语、单字均可以划分。在本实施方式中,可以采用Python语言结合结巴分词进行实现。
具体地,中文分词处理所述询问数据的方法包括:
基于结巴分词和统计词典构造前缀词典;
对所述查询数据进行词图扫描得到多个单独的子句,生成每个单独的子句对应的有向无环图;
采用动态规划在所述有向无环图中查找最大概率路径,找出基于词频的最大切分组合,得到多个分词词项。
在一实施方式中,结巴分词首先会依照统计词典dict.txt构造前缀词典。dict.txt含有近35万的词条,每个词条占用一行,其中每一行有3列,第一列为词条,第二列为对应的词频,第三列为词性,构造前缀词典需要用到前两列。所述基于结巴分词和统计词典构造前缀词典包括:定义第一字典,所述第一字典为空的python字典;遍历统计词典的第一行,取词条作为所述第一字典的键,词频作为对应的键值;遍历所述词条的前缀,如果所述词条的前缀对应的键不在所述第一字典里,设定所述词条的前缀为所述第一字典的键;如果所述词条的前缀对应的键在所述第一字典里,继续遍历所述统计词典的下一行,直到遍历完所述统计词典中的最后一行,得到所述前缀词典。
例如,首先定义一个空的python第一字典,然后遍历dict.txt的每一行,取词条作为字典的键,词频作为对应的键值,然后遍历该词条的前缀,如果前缀对应的键不在字典里,就把该前缀设为字典新的键,对应的键值设为0,如果前缀在字典里,则什么都不做。这样等遍历完dict.txt后,前缀词典就构造好了。在构造前缀词典时,会对统计词典里所有词条的词频做一下累加,累加值等计算最大概率路径时会用到。
在本实施方式中,用正则表达式分割所述查询数据后得到多个单独的子句,对每一个单独的子句会生成一个有向无环图。所述生成每个单独的子句对应的有向无环图包括:定义第二字典,所述第二字典为空的python字典;遍历所述多个单独的子句中的当前子句,当前子句元素的索引作为所述第二字典的一个键,对应的键值为一个python列表;以所述索引作为子句的子串的起始索引,不断向后遍历生成不同的子串;判断所述子串是否在所述前缀词典里且判断所述子串在所述前缀词典里的键值是否为零;如果所述子串在前缀词典里且键值不为零,将所述子串的终止索引添加到所述python列表中;当遍历完所述当前子句的所有子串之后,得到所述当前子句对应的有向无环图。如果所述子串的键值为零,则说明它不是一个词条。
生成的DAG的起点到终点会有很多路径,需要找到一条概率最大的路径,然后据此进行分词。在本实施方式中,可以采用动态规划来求解最大概率路径。具体地,从子句的最后一个字开始,倒序遍历子句的每个字,取当前字对应索引在DAG字典中的键值(一个python列表),然后遍历该列表,当前字会和列表中每个字两两组合成一个词条,然后基于词频计算出当前字到句尾的概率,以python元组的方式保存最大概率,元祖第一个元素是最大概率的对数,第二个元素为最大概率对应词条的终止索引。词频可看作DAG中边的权重,之所以取概率的对数是为了防止数值下溢。有了最大概率路径,分词结果也就随之确定。
在本实施方式中,所述停用词用来辅助分词工具切分词语,被人工预存进停用词表中。一般无实际意义,多为语气助词、连词或介词。例如也、啊、又、比、与、但。所述去除停用词处理是指将询问数据中不具备表达能力,但往往具有高频、无意义等特点的词进行消除。通过去除停用词处理,能消除对后续关键词提取的干扰。
步骤S3,输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词。
在本实施方式中,通过Python语言结合结巴分词方法对所述询问数据进行分词处理,得到多个分词词项。可以去除所述询问数据中的介词、连词等没有语义信息的词语。在本申请中,为了得到更加准确的检索结果,还需要对所述多个分词词项进行分析,以识别所述分词词项中与医学和用户意图相关的关键词。
具体地,所述预先训练的医学疾病模型可以识别疾病的类型、用户意图以及文献类型信息。在本实施方式中,所述疾病的类型包括常见的24种疾病类型。所述用户的意图包括治疗方法、诊断方法和临床表现等。所述文献类型信息包括指南、论文、书籍等信息。
例如,用于训练初始医学疾病模型的样本数据集包括:样本询问数据a(即“牙痛如何治疗?”)、样本询问数据b(即“我想知道心衰的诊断方法?”)、样本询问数据c(即“我想知道关节炎的临床表现?”)等。其中,样本询问数据a所携带的疾病类型标签为标签a1(即“口腔”的标签),及样本询问数据a所携带的用户意图标签为标签a2(即“治疗方法”),样本询问数据b所携带的疾病类型标签为标签b1(即“心衰”的标签),及样本询问数据b所携带的用户意图标签为b2(即“诊断方法”),样本询问数据c所携带的疾病类型标签为标签c1(即“骨关节”的标签),及样本询问数据c所携带的用户意图标签为c2(即“临床表现”),......。可以将样本数据全部输入到初始医学疾病模型,通过初始医学疾病模型预测出上述样本数据中每个样本询问数据对应的样本疾病类型(也就是样本预测科室),再通过预测出的样本疾病类型在所述初始医学疾病模型中反向传播以修正所述初始医学疾病模型的模型参数,最终得到修正完成的初始医学疾病模型,也就是所述的医学疾病模型。
具体地,在本实施方式中,可以通过多标签分类算法对所述医学疾病模型进行训练,包括:获取多个查询数据;
对每个查询数据中的一个或多个关键词进行标记;
基于标记了一个或多个关键词的查询数据及对应关键字的类别构建样本数据集;
将所述样本数据集随机分为第一数量的训练集和第二数量的测试集;
将所述训练集输入至卷积神经网络中进行训练,得到医学疾病模型;
将所述测试集输入至所述医学疾病模型中进行测试,得到测试通过率;
判断所述测试通过率是否大于预设通过率阈值;
当所述测试通过率大于或者等于所述预设通过率阈值时,结束医学疾病模型的训练;否则,当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量并基于增加数量后的训练集训练卷积神经网络直至所述测试通过率大于或者等于所述预设通过率阈值。
步骤S4:计算所述多个关键词中每个关键词的词权重,输出多个词权重信息。
在本实施方式中,当所述询问数据中存在多个关键词时,每个关键词的重要程度是不同的。在基于词召回的基础上,对关键词设立优先级,以此达到近似询问数据原始的语义的目的。
举个例子,考虑询问数据为“妊娠糖尿病的判断标准”,其中,“妊娠糖尿病”和“判断标准”在一般情况下是等价的,系统并没有倾向性。所以系统可能会返回仅包含“判断标准”的文档给用户。而词权重的计算想要解决的就是弥补全局统计量精度缺失的问题。放在上面这个例子中,就是即使系统无法满足完全包含“妊娠糖尿病”和“判断标准”同时命中的需求时,退一步可以优先满足命中“妊娠糖尿病”的情况,以保证在主题上的相关性。
具体地,可以采用基于点击日志的方法计算所述多个关键词中每个关键词的权重,其中,每个关键词的权重是指在搜索引擎用户的查询中,查询数据(query)中的每个关键词(term)的重要程度。本申请实施例中,词向量训练时引入word2vector词向量特征,通过用户多个搜索日志中的数据训练(查询数据)中多个关键词的先验term向量后,再结合查询数据的信息获取依赖于所述查询数据中各个关键词的后验term向量作为特征,同时在训练阶段目标值的获取计算中利用用户点击行为数据,以预测到每个关键词的权重。
基于点击日志的词权重计算方法,其主要假设是长query的中term的权重可以由短query中的term的权重近似计算得到。具体地,根据所述查询数据将所述多个关键词组合成多个子片段;计算所述子片段中每个关键词的词权重和词丢弃概率;通过下述公式计算所述查询数据中的每个关键词的词权重。
其中,p(term|query)为所述查询数据中每个关键词的词权重,p(term|frag)为所述子片段中每个关键词的词权重,pvte(term|frag)为所述子片段中每个关键词的词丢弃概率。
例如,要计算Query:我想知道妊娠糖尿病的治疗方法?中预处理后的每个term的权重。如果能够分别知道子片段中哪个term比较重要,糖尿病治疗方法、妊娠糖尿病治疗方法、知道妊娠糖尿病治疗方法、妊娠糖尿病,那么query中的term权重可以由这些子片段(frag)中term的权重推导得到。问题转化成求frag中的词权重p(term|frag)和词丢弃概率pvte(term|frag)。p(term|frag)是子片段frag中term的权重,表示term在子片段的权重越高,那么term在query的权重就越高;pvte(term|frag)是子片段frag中term的丢弃概率,表示term在子片段中越不重要,那么term在query中就越不重要。
步骤S5:根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词。
在本实施方式中,所述词权重信息表征所述关键字在所述查询数据中的重要性。当词权重信息越大,则说明对应的关键字在所述查询数据中更重要;当词权重信息越小,则说明对应的关键字在所述查询数据中不重要。为了加快检索过程,可以去除词权重信息较小的关键字;通过词权重信息大的关键字进行检索即可得到用户需要检索的数据。
步骤S6:基于选取的关键词在数据库中进行检索,得到检索结果。
在本实施方式中,基于选取的关键词在数据库中检索,通过预设匹配算法在所述数据库匹配与所述选取的关键词相符的内容。所述预设匹配算法包括整体匹配算法、循环匹配算法和循环叠加匹配算法。所述整体匹配算法为利用所述数据库对所述选取的关键词进行全量不拆分匹配。循环匹配算法为利用所述数据库对所述选取的关键词中的每个关键词语进循环匹配。循环叠加匹配算法为,对选取的关键词中的每个关键字依照先后顺序进行逐步组合,每步组合得到一个组合词语,将组合词语逐步在所述数据库中进行循环匹配。例如“12345”被拆分为“1、“2”、“3”、“4”、“5”,检索过程为:先对“1”进行检索,然后进行叠加操作得到“12”,然后对其进行检索;再然后继续叠加得到“123”,再对其进行检索,后同略。
步骤S7:通过预设的展示方式展示所述检索结果。
在本实施方式中,可以通过电子装置的显示设备利用不同的展示方式来展示所述检索结果。例如分类展示文献的类型、统计、作者分类等。
在一实施方式中,还可以提供一显示界面共用户根据不同的筛选条件,进行结果数据筛选。选中符合条件的数据查看浏览,进行收藏,对喜欢的作者进行关注,还可以对英文文献进行翻译,翻译成为目标语言的文献,方便用户的浏览阅读。
综上所述,本申请提供的医学资料搜索方法包括,接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理;输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词;计算所述多个关键词中每个关键词的词权重,输出多个词权重信息;根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及基于选取的关键词在数据库中进行检索,得到检索结果。本方法通过准确地匹配查询数据对应的关键词,并根据词权重信息在数据库中进行检索,可以帮助用户节省查询文献的时间,高效准确地找到用户需要查询的资料,从而帮助用户快速的获取医学知识。本申请通过人工智能提高检索效率,能够推动智慧医疗及智慧城市的建设。
以上所述,仅是本申请的具体实施方式,但本申请的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本申请创造构思的前提下,还可以做出改进,但这些均属于本申请的保护范围。
下面结合图2和图3,分别对实现上述医学资料搜索方法的电子装置的功能模块及硬件结构进行介绍。
实施例二
图2为本申请医学资料搜索的装置较佳实施例中的功能模块图。
在一些实施例中,所述医学资料搜索装置20(为便于描述,简称为“搜索装置”)运行于电子装置中。所述搜索装置20可以包括多个由程序代码段所组成的功能模块。所述搜索装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行医学资料搜索的功能。
本实施例中,所述搜索装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块201、预处理模块202、输入模块203、计算模块204、选取模块205及检索模块206。本申请所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述接收模块201用于接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息。
在本实施方式中,可以通过电子装置中的输入/输出设备,接收用户输入的询问数据。所述询问数据可以为用户录入的想要询问的某种病症的问题,例如该询问数据可以是“鞘膜积液的常规治疗方法有哪些”或者“高血压有哪些临床表现症状”。
在本实施方式中,所述询问数据可以是语音询问数据,也可以是文本询问数据。例如,当用户需要查询关于心衰的相关治疗方案时,可以通过语音输入设备(如麦克风)输入“我想知道心衰的治疗方案”的语音信息,也可以通过键盘输入“我想知道心衰的治疗方案”的文本信息。其中,所述询问数据可以是关于疾病、药品、指南、专家作者、临床表现、学校等信息的数据。
所述预处理模块202用于预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理。
在本实施方式中,所述中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。通过中文分词处理可以将文本中的每一个句子,按照一定的规则划分成有序的词语片段,其中标点、词语、单字均可以划分。在本实施方式中,可以采用Python语言结合结巴分词进行实现。
具体地,中文分词处理所述询问数据的方法包括:
基于结巴分词和统计词典构造前缀词典;
对所述查询数据进行词图扫描得到多个单独的子句,生成每个单独的子句对应的有向无环图;
采用动态规划在所述有向无环图中查找最大概率路径,找出基于词频的最大切分组合,得到多个分词词项。
在一实施方式中,结巴分词首先会依照统计词典dict.txt构造前缀词典。dict.txt含有近35万的词条,每个词条占用一行,其中每一行有3列,第一列为词条,第二列为对应的词频,第三列为词性,构造前缀词典需要用到前两列。所述基于结巴分词和统计词典构造前缀词典包括:定义第一字典,所述第一字典为空的python字典;遍历统计词典的第一行,取词条作为所述第一字典的键,词频作为对应的键值;遍历所述词条的前缀,如果所述词条的前缀对应的键不在所述第一字典里,设定所述词条的前缀为所述第一字典的键;如果所述词条的前缀对应的键在所述第一字典里,继续遍历所述统计词典的下一行,直到遍历完所述统计词典中的最后一行,得到所述前缀词典。
例如,首先定义一个空的python第一字典,然后遍历dict.txt的每一行,取词条作为字典的键,词频作为对应的键值,然后遍历该词条的前缀,如果前缀对应的键不在字典里,就把该前缀设为字典新的键,对应的键值设为0,如果前缀在字典里,则什么都不做。这样等遍历完dict.txt后,前缀词典就构造好了。在构造前缀词典时,会对统计词典里所有词条的词频做一下累加,累加值等计算最大概率路径时会用到。
在本实施方式中,用正则表达式分割所述查询数据后得到多个单独的子句,对每一个单独的子句会生成一个有向无环图。所述生成每个单独的子句对应的有向无环图包括:定义第二字典,所述第二字典为空的python字典;遍历所述多个单独的子句中的当前子句,当前子句元素的索引作为所述第二字典的一个键,对应的键值为一个python列表;以所述索引作为子句的子串的起始索引,不断向后遍历生成不同的子串;判断所述子串是否在所述前缀词典里且判断所述子串在所述前缀词典里的键值是否为零;如果所述子串在前缀词典里且键值不为零,将所述子串的终止索引添加到所述python列表中;当遍历完所述当前子句的所有子串之后,得到所述当前子句对应的有向无环图。如果所述子串的键值为零,则说明它不是一个词条。
生成的DAG的起点到终点会有很多路径,需要找到一条概率最大的路径,然后据此进行分词。在本实施方式中,可以采用动态规划来求解最大概率路径。具体地,从子句的最后一个字开始,倒序遍历子句的每个字,取当前字对应索引在DAG字典中的键值(一个python列表),然后遍历该列表,当前字会和列表中每个字两两组合成一个词条,然后基于词频计算出当前字到句尾的概率,以python元组的方式保存最大概率,元祖第一个元素是最大概率的对数,第二个元素为最大概率对应词条的终止索引。词频可看作DAG中边的权重,之所以取概率的对数是为了防止数值下溢。有了最大概率路径,分词结果也就随之确定。
在本实施方式中,所述停用词用来辅助分词工具切分词语,被人工预存进停用词表中。一般无实际意义,多为语气助词、连词或介词。例如也、啊、又、比、与、但。所述去除停用词处理是指将询问数据中不具备表达能力,但往往具有高频、无意义等特点的词进行消除。通过去除停用词处理,能消除对后续关键词提取的干扰。
所述输入模块203用于输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词。
在本实施方式中,通过Python语言结合结巴分词方法对所述询问数据进行分词处理,得到多个分词词项。可以去除所述询问数据中的介词、连词等没有语义信息的词语。在本申请中,为了得到更加准确的检索结果,还需要对所述多个分词词项进行分析,以识别所述分词词项中与医学和用户意图相关的关键词。
具体地,所述预先训练的医学疾病模型可以识别疾病的类型、用户意图以及文献类型信息。在本实施方式中,所述疾病的类型包括常见的24种疾病类型。所述用户的意图包括治疗方法、诊断方法和临床表现等。所述文献类型信息包括指南、论文、书籍等信息。
例如,用于训练初始医学疾病模型的样本数据集包括:样本询问数据a(即“牙痛如何治疗?”)、样本询问数据b(即“我想知道心衰的诊断方法?”)、样本询问数据c(即“我想知道关节炎的临床表现?”)等。其中,样本询问数据a所携带的疾病类型标签为标签a1(即“口腔”的标签),及样本询问数据a所携带的用户意图标签为标签a2(即“治疗方法”),样本询问数据b所携带的疾病类型标签为标签b1(即“心衰”的标签),及样本询问数据b所携带的用户意图标签为b2(即“诊断方法”),样本询问数据c所携带的疾病类型标签为标签c1(即“骨关节”的标签),及样本询问数据c所携带的用户意图标签为c2(即“临床表现”),......。可以将样本数据全部输入到初始医学疾病模型,通过初始医学疾病模型预测出上述样本数据中每个样本询问数据对应的样本疾病类型(也就是样本预测科室),再通过预测出的样本疾病类型在所述初始医学疾病模型中反向传播以修正所述初始医学疾病模型的模型参数,最终得到修正完成的初始医学疾病模型,也就是所述的医学疾病模型。
具体地,在本实施方式中,可以通过多标签分类算法对所述医学疾病模型进行训练,包括:获取多个查询数据;
对每个查询数据中的一个或多个关键词进行标记;
基于标记了一个或多个关键词的查询数据及对应关键字的类别构建样本数据集;
将所述样本数据集随机分为第一数量的训练集和第二数量的测试集;
将所述训练集输入至卷积神经网络中进行训练,得到医学疾病模型;
将所述测试集输入至所述医学疾病模型中进行测试,得到测试通过率;
判断所述测试通过率是否大于预设通过率阈值;
当所述测试通过率大于或者等于所述预设通过率阈值时,结束医学疾病模型的训练;否则,当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量并基于增加数量后的训练集训练卷积神经网络直至所述测试通过率大于或者等于所述预设通过率阈值。
所述计算模块204用于计算所述多个关键词中每个关键词的词权重,输出多个词权重信息。
在本实施方式中,当所述询问数据中存在多个关键词时,每个关键词的重要程度是不同的。在基于词召回的基础上,对关键词设立优先级,以此达到近似询问数据原始的语义的目的。
举个例子,考虑询问数据为“妊娠糖尿病的判断标准”,其中,“妊娠糖尿病”和“判断标准”在一般情况下是等价的,系统并没有倾向性。所以系统可能会返回仅包含“判断标准”的文档给用户。而词权重的计算想要解决的就是弥补全局统计量精度缺失的问题。放在上面这个例子中,就是即使系统无法满足完全包含“妊娠糖尿病”和“判断标准”同时命中的需求时,退一步可以优先满足命中“妊娠糖尿病”的情况,以保证在主题上的相关性。
具体地,可以采用基于点击日志的方法计算所述多个关键词中每个关键词的权重,其中,每个关键词的权重是指在搜索引擎用户的查询中,查询数据(query)中的每个关键词(term)的重要程度。本申请实施例中,词向量训练时引入word2vector词向量特征,通过用户多个搜索日志中的数据训练(查询数据)中多个关键词的先验term向量后,再结合查询数据的信息获取依赖于所述查询数据中各个关键词的后验term向量作为特征,同时在训练阶段目标值的获取计算中利用用户点击行为数据,以预测到每个关键词的权重。
基于点击日志的词权重计算方法,其主要假设是长query的中term的权重可以由短query中的term的权重近似计算得到。具体地,根据所述查询数据将所述多个关键词组合成多个子片段;计算所述子片段中每个关键词的词权重和词丢弃概率;通过下述公式计算所述查询数据中的每个关键词的词权重。
其中,p(term|query)为所述查询数据中每个关键词的词权重,p(term|frag)为所述子片段中每个关键词的词权重,pvte(term|frag)为所述子片段中每个关键词的词丢弃概率。
例如,要计算Query:我想知道妊娠糖尿病的治疗方法?中预处理后的每个term的权重。如果能够分别知道子片段中哪个term比较重要,糖尿病治疗方法、妊娠糖尿病治疗方法、知道妊娠糖尿病治疗方法、妊娠糖尿病,那么query中的term权重可以由这些子片段(frag)中term的权重推导得到。问题转化成求frag中的词权重p(term|frag)和词丢弃概率pvte(term|frag)。p(term|frag)是子片段frag中term的权重,表示term在子片段的权重越高,那么term在query的权重就越高;pvte(term|frag)是子片段frag中term的丢弃概率,表示term在子片段中越不重要,那么term在query中就越不重要。
所述选取模块205用于根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词。
在本实施方式中,所述词权重信息表征所述关键字在所述查询数据中的重要性。当词权重信息越大,则说明对应的关键字在所述查询数据中更重要;当词权重信息越小,则说明对应的关键字在所述查询数据中不重要。为了加快检索过程,可以去除词权重信息较小的关键字;通过词权重信息大的关键字进行检索即可得到用户需要检索的数据。
所述检索模块206用于基于选取的关键词在数据库中进行检索,得到检索结果。
在本实施方式中,基于选取的关键词在数据库中检索,通过预设匹配算法在所述数据库匹配与所述选取的关键词相符的内容。所述预设匹配算法包括整体匹配算法、循环匹配算法和循环叠加匹配算法。所述整体匹配算法为利用所述数据库对所述选取的关键词进行全量不拆分匹配。循环匹配算法为利用所述数据库对所述选取的关键词中的每个关键词语进循环匹配。循环叠加匹配算法为,对选取的关键词中的每个关键字依照先后顺序进行逐步组合,每步组合得到一个组合词语,将组合词语逐步在所述数据库中进行循环匹配。例如“12345”被拆分为“1、“2”、“3”、“4”、“5”,检索过程为:先对“1”进行检索,然后进行叠加操作得到“12”,然后对其进行检索;再然后继续叠加得到“123”,再对其进行检索,后同略。
所述检索模块206还用于通过预设的展示方式展示所述检索结果。
在本实施方式中,可以通过电子装置的显示设备利用不同的展示方式来展示所述检索结果。例如分类展示文献的类型、统计、作者分类等。
在一实施方式中,还可以提供一显示界面共用户根据不同的筛选条件,进行结果数据筛选。选中符合条件的数据查看浏览,进行收藏,对喜欢的作者进行关注,还可以对英文文献进行翻译,翻译成为目标语言的文献,方便用户的浏览阅读。
综上所述,本申请所述的搜索装置20,包括接收模块201、预处理模块202、输入模块203、计算模块204、选取模块205及检索模块206。所述接收模块201用于接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息。所述预处理模块202用于预处理所述询问数据,得到多个分词词项;所述输入模块203用于输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词;所述计算模块204用于计算所述多个关键词中每个关键词的词权重,输出多个词权重信息;所述选取模块205用于根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及所述检索模块206用于基于选取的关键词在数据库中进行检索,得到检索结果。本装置通过准确地匹配查询数据对应的关键词,并根据词权重信息在数据库中进行检索,可以帮助用户节省查询文献的时间,高效准确地找到用户需要查询的资料,从而帮助用户快速的获取医学知识。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分。
图3为本申请实施例三提供的电子装置的示意图。
所述电子装置3包括:存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33、至少一条通讯总线34及数据库35。
所述至少一个处理器32执行所述计算机程序33时实现上述医学资料搜索方法实施例中的步骤。
示例性的,所述计算机程序33可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述至少一个处理器32执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序33在所述电子装置3中的执行过程。
所述电子装置3可以是计算机、手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图3仅仅是电子装置3的示例,并不构成对电子装置3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子装置3还可以包括输入输出设备、网络接入设备、总线等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器32可以是微处理器或者所述处理器32也可以是任何常规的处理器等,所述处理器32是所述电子装置3的控制中心,利用各种接口和线路连接整个电子装置3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子装置3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子装置3的使用所创建的数据(比如音频数据等)等。此外,存储器31包括非易失性和易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块(接收模块201、预处理模块202、输入模块203、计算模块204、选取模块205及检索模块206)是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到医学资料搜索的目的。
所述数据库(Database)35是按照数据结构来组织、存储和管理数据的建立在所述电子装置3上的仓库。数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。在本实施方式中,所述数据库35用于存储医学资料信息。
所述电子装置3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器等。
在本申请所提供的几个实施例中,应所述理解到,所揭露的电子装置和方法,可以通过其它的方式实现。例如,以上所描述的电子装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本申请各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神范围。

Claims (5)

1.一种医学资料搜索方法,其特征在于,所述方法包括:
接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;
预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理,其中,中文分词处理所述询问数据的方法包括:基于结巴分词和统计词典构造前缀词典;对查询数据进行词图扫描得到多个单独的子句,生成每个单独的子句对应的有向无环图;采用动态规划在所述有向无环图中查找最大概率路径,找出基于词频的最大切分组合,得到多个分词词项;所述基于结巴分词和统计词典构造前缀词典包括:定义第一字典,所述第一字典为空的python字典;遍历统计词典的第一行,取词条作为所述第一字典的键,词频作为对应的键值;遍历所述词条的前缀,如果所述词条的前缀对应的键不在所述第一字典里,设定所述词条的前缀为所述第一字典的键;如果所述词条的前缀对应的键在所述第一字典里,继续遍历所述统计词典的下一行,直到遍历完所述统计词典中的最后一行,得到所述前缀词典;所述生成每个单独的子句对应的有向无环图包括:定义第二字典,所述第二字典为空的python字典;遍历所述多个单独的子句中的当前子句,当前子句元素的索引作为所述第二字典的一个键,对应的键值为一个python列表;以所述索引作为子句的子串的起始索引,不断向后遍历生成不同的子串;判断所述子串是否在所述前缀词典里且判断所述子串在所述前缀词典里的键值是否为零;如果所述子串在前缀词典里且键值不为零,将所述子串的终止索引添加到所述python列表中;当遍历完所述当前子句的所有子串之后,得到所述当前子句对应的有向无环图;
输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词,其中,通过多标签分类算法对所述医学疾病模型进行训练,包括:获取多个查询数据;对每个查询数据中的一个或多个关键词进行标记;基于标记了一个或多个关键词的查询数据及对应关键字的类别构建样本数据集;将所述样本数据集随机分为第一数量的训练集和第二数量的测试集;将所述训练集输入至卷积神经网络中进行训练,得到医学疾病模型;将所述测试集输入至所述医学疾病模型中进行测试,得到测试通过率;判断所述测试通过率是否大于预设通过率阈值;当所述测试通过率大于或者等于所述预设通过率阈值时,结束医学疾病模型的训练;否则,当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量并基于增加数量后的训练集训练卷积神经网络直至所述测试通过率大于或者等于所述预设通过率阈值;
计算所述多个关键词中每个关键词的词权重,输出多个词权重信息,采用基于点击日志的方法计算所述多个关键词中每个关键词的权重,包括:根据所述查询数据将所述多个关键词组合成多个子片段;计算所述子片段中每个关键词的词权重和词丢弃概率;及通过以下公式计算所述查询数据中的每个关键词的词权重;
其中,p(term|query)为所述查询数据中每个关键词的词权重,p(term|frag)为所述子片段frag中每个关键词的词权重,pvte(term|frag)为所述子片段frag中每个关键词的词丢弃概率,n为关键词总数;
根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及
基于选取的关键词在数据库中进行检索,得到检索结果。
2.如权利要求1所述的医学资料搜索方法,其特征在于,基于选取的关键词在所述数据库中检索,通过预设匹配算法在所述数据库匹配与所述选取的关键词相符的内容,所述预设匹配算法包括整体匹配算法、循环匹配算法和循环叠加匹配算法。
3.一种医学资料搜索的装置,其特征在于,所述装置包括:
接收模块,用于接收用户输入的询问数据,其中,所述询问数据包括用户待询问的问题信息;
预处理模块,用于预处理所述询问数据,得到多个分词词项,其中,所述预处理包括中文分词处理和去除停用词处理,其中,中文分词处理所述询问数据的方法包括:基于结巴分词和统计词典构造前缀词典;对查询数据进行词图扫描得到多个单独的子句,生成每个单独的子句对应的有向无环图;采用动态规划在所述有向无环图中查找最大概率路径,找出基于词频的最大切分组合,得到多个分词词项;所述基于结巴分词和统计词典构造前缀词典包括:定义第一字典,所述第一字典为空的python字典;遍历统计词典的第一行,取词条作为所述第一字典的键,词频作为对应的键值;遍历所述词条的前缀,如果所述词条的前缀对应的键不在所述第一字典里,设定所述词条的前缀为所述第一字典的键;如果所述词条的前缀对应的键在所述第一字典里,继续遍历所述统计词典的下一行,直到遍历完所述统计词典中的最后一行,得到所述前缀词典;所述生成每个单独的子句对应的有向无环图包括:定义第二字典,所述第二字典为空的python字典;遍历所述多个单独的子句中的当前子句,当前子句元素的索引作为所述第二字典的一个键,对应的键值为一个python列表;以所述索引作为子句的子串的起始索引,不断向后遍历生成不同的子串;判断所述子串是否在所述前缀词典里且判断所述子串在所述前缀词典里的键值是否为零;如果所述子串在前缀词典里且键值不为零,将所述子串的终止索引添加到所述python列表中;当遍历完所述当前子句的所有子串之后,得到所述当前子句对应的有向无环图;
输入模块,用于输入所述多个分词词项至预先训练的医学疾病模型中,得到与医学相关的多个关键词,其中,通过多标签分类算法对所述医学疾病模型进行训练,包括:获取多个查询数据;对每个查询数据中的一个或多个关键词进行标记;基于标记了一个或多个关键词的查询数据及对应关键字的类别构建样本数据集;将所述样本数据集随机分为第一数量的训练集和第二数量的测试集;将所述训练集输入至卷积神经网络中进行训练,得到医学疾病模型;将所述测试集输入至所述医学疾病模型中进行测试,得到测试通过率;判断所述测试通过率是否大于预设通过率阈值;当所述测试通过率大于或者等于所述预设通过率阈值时,结束医学疾病模型的训练;否则,当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量并基于增加数量后的训练集训练卷积神经网络直至所述测试通过率大于或者等于所述预设通过率阈值;
计算模块,用于计算所述多个关键词中每个关键词的词权重,输出多个词权重信息,采用基于点击日志的方法计算所述多个关键词中每个关键词的权重,包括:根据所述查询数据将所述多个关键词组合成多个子片段;计算所述子片段中每个关键词的词权重和词丢弃概率;及通过以下公式计算所述查询数据中的每个关键词的词权重;
其中,p(term|query)为所述查询数据中每个关键词的词权重,p(term|frag)为所述子片段frag中每个关键词的词权重,pvte(term|frag)为所述子片段frag中每个关键词的词丢弃概率,n为关键词总数;
选取模块,用于根据所述多个词权重信息从大至小排序,选取排在前面的预设个数词权重信息对应的关键词;及
检索模块,用于基于选取的关键词在数据库中进行检索,得到检索结果。
4.一种电子装置,其特征在于,所述电子装置包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至2中任意一项所述的医学资料搜索方法。
5.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2中任意一项所述的医学资料搜索方法。
CN202010917940.2A 2020-09-03 2020-09-03 医学资料搜索方法、装置、电子装置及存储介质 Active CN111984851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010917940.2A CN111984851B (zh) 2020-09-03 2020-09-03 医学资料搜索方法、装置、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010917940.2A CN111984851B (zh) 2020-09-03 2020-09-03 医学资料搜索方法、装置、电子装置及存储介质

Publications (2)

Publication Number Publication Date
CN111984851A CN111984851A (zh) 2020-11-24
CN111984851B true CN111984851B (zh) 2023-11-14

Family

ID=73447470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010917940.2A Active CN111984851B (zh) 2020-09-03 2020-09-03 医学资料搜索方法、装置、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN111984851B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346876B (zh) * 2020-12-04 2023-04-18 山东鲁软数字科技有限公司 一种具备自主学习特性的通道分配方法及系统
CN112687364B (zh) * 2020-12-24 2023-08-01 宁波金唐软件有限公司 一种基于Hbase的医疗数据管理方法及其系统
CN112735412B (zh) * 2020-12-25 2022-11-22 北京博瑞彤芸科技股份有限公司 一种根据语音指令搜索信息的方法和系统
CN114512241A (zh) * 2021-12-27 2022-05-17 中国人民解放军总医院第一医学中心 一种基于频次分析的食管静脉瘤信息智能搜寻方法及系统
CN114860887A (zh) * 2022-05-26 2022-08-05 康键信息技术(深圳)有限公司 基于智能联想的疾病内容推送方法、装置、设备及介质
CN116598004B (zh) * 2023-07-17 2023-11-28 清华大学 患病率的预测方法、装置、计算机设备和存储介质
CN116932725A (zh) * 2023-08-02 2023-10-24 深圳畅愈健康科技有限公司 基于人工智能的医疗资料处理方法、系统、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294588A (zh) * 2016-07-28 2017-01-04 广东中标数据科技股份有限公司 快速搜索所要查询内容的方法及装置
WO2018090468A1 (zh) * 2016-11-18 2018-05-24 广州视源电子科技股份有限公司 视频节目的搜索方法和装置
CN108664473A (zh) * 2018-05-11 2018-10-16 平安科技(深圳)有限公司 文本关键信息的识别方法、电子装置及可读存储介质
CN109284352A (zh) * 2018-09-30 2019-01-29 哈尔滨工业大学 一种基于倒排索引的评估类文档不定长词句的查询方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489574B2 (en) * 2006-06-12 2013-07-16 Zalag Corporation Methods and apparatuses for searching content
US20160004766A1 (en) * 2006-10-10 2016-01-07 Abbyy Infopoisk Llc Search technology using synonims and paraphrasing
US7788284B2 (en) * 2007-06-26 2010-08-31 Yahoo! Inc. System and method for knowledge based search system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294588A (zh) * 2016-07-28 2017-01-04 广东中标数据科技股份有限公司 快速搜索所要查询内容的方法及装置
WO2018090468A1 (zh) * 2016-11-18 2018-05-24 广州视源电子科技股份有限公司 视频节目的搜索方法和装置
CN108664473A (zh) * 2018-05-11 2018-10-16 平安科技(深圳)有限公司 文本关键信息的识别方法、电子装置及可读存储介质
CN109284352A (zh) * 2018-09-30 2019-01-29 哈尔滨工业大学 一种基于倒排索引的评估类文档不定长词句的查询方法

Also Published As

Publication number Publication date
CN111984851A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN111984851B (zh) 医学资料搜索方法、装置、电子装置及存储介质
CN108491433B (zh) 聊天应答方法、电子装置及存储介质
CN106649818B (zh) 应用搜索意图的识别方法、装置、应用搜索方法和服务器
CN111274806B (zh) 分词和词性识别方法、装置及电子病历的分析方法、装置
CN110364234B (zh) 电子病历智能存储分析检索系统及方法
US8543565B2 (en) System and method using a discriminative learning approach for question answering
EP1675025A2 (en) Systems and methods for generating user-interest sensitive abstracts of search results
US20220254507A1 (en) Knowledge graph-based question answering method, computer device, and medium
US20110106805A1 (en) Method and system for searching multilingual documents
CN108427702B (zh) 目标文档获取方法及应用服务器
CN110147494B (zh) 信息搜索方法、装置,存储介质及电子设备
CN111159359A (zh) 文档检索方法、装置及计算机可读存储介质
CN111291177A (zh) 一种信息处理方法、装置和计算机存储介质
CN114880447A (zh) 信息检索方法、装置、设备及存储介质
CN110019474B (zh) 异构数据库中的同义数据自动关联方法、装置及电子设备
CN114860887A (zh) 基于智能联想的疾病内容推送方法、装置、设备及介质
CN112307190A (zh) 医学文献排序方法、装置、电子设备及存储介质
Wijewickrema et al. Selecting a text similarity measure for a content-based recommender system: A comparison in two corpora
EP3901875A1 (en) Topic modelling of short medical inquiries
CN112199958A (zh) 概念词序列生成方法、装置、计算机设备及存储介质
CN114742062B (zh) 文本关键词提取处理方法及系统
WO2019192122A1 (zh) 文档主题参数提取方法、产品推荐方法、设备及存储介质
CN115964474A (zh) 一种政策关键词抽取方法、装置、存储介质及电子设备
CN111967235B (zh) 表单处理方法、装置、计算机设备及存储介质
Ribeiro et al. UA. PT Bioinformatics at ImageCLEF 2019: Lifelog Moment Retrieval based on Image Annotation and Natural Language Processing.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221011

Address after: Room 2601 (Unit 07), Qianhai Free Trade Building, No. 3048, Xinghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Ping An Smart Healthcare Technology Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant