药品分词搜索方法及系统
技术领域
本申请涉及互联网技术领域,特别涉及药品搜索技术领域。
背景技术
目前,通过互联网进行药品搜索已经越来越普遍,当前业界主流的分词方法,主要围绕着基于词典、基于统计、基于理解的三个方向在扩展和延伸,虽然这些常规的做法基本满足现代汉语、日常用语的分词,但由于药品搜索的特殊性,医药词汇有着偏僻词多、词义模糊、语义模糊等特点,造成现有模型无法满足医药行业的分词需求。
例如,常见的药品名称:万高厄贝沙坦氢氯噻嗪分散片,许多分词器的原生模型得到的结果为(例如IK分词器):万,高,厄,贝,沙,坦,氢,氯,噻,嗪,分散,片。
可见,这样的药品分词结果过于零散、模糊,用户输入药品名称时,只能搜索出包含这些字眼的内容,造成大量的相关性较弱的内容被召回回来,无法满足在搜索中精确搜索、丢词搜索的需求,迫使用户需要更改关键词进行多次搜索,影响体验的同时还加大了服务器的处理压力。
发明内容
本申请的目的在于提供一种药品分词搜索方法及系统,能够弥补现有技术中难以发现新词、标注不全面的弊端,对新词、未标注词的切分效率和准确率都更高,且能够减少人工标注的成本。
本申请公开了一种药品分词搜索方法,包含:
预先设定药品词典和规则词典,其中所述药品词典包括已标注的医药词条,所述规则词典包括剂型特征词、高频特征词和组成特征词;
根据所述药品词典对输入的搜索字符串进行多路径分词,得到多路径分词结果,其中,如果所述多路径分词结果的最粗粒度路径中至少有一组连续单字的单字数量在预设范围内,则根据所述规则词典中的剂型特征词、高频特征词和组成特征词对所述搜索字符串进行分词,其中,如果相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径加入到所述多路径分词结果;
使用所述多路径分词结果进行药品搜索。
在一个优选例中,所述设定规则词典,包含以下子步骤:
分别建立药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表;以及
将所述药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表的数据进行合并,生成规则词典。
在一个优选例中,所述根据所述药品词典对输入的搜索字符串进行多路径分词,进一步包括:
调用第一分词服务,通过加载常规的现代汉语分词模型,再增量装载药品词典,构建双数组Trie树,使所述第一分词服务基于所述现代汉语分词模型和药品词典对普通词条和已标注的医药词条进行切分处理,得到粗分词网;
使用正向/逆向最大粒度匹配原则选取最优的两条路径,所述路径按照粒度降序排列,当正向/逆向分词粒度大小一致时,根据概率模型计算概率,如果概率不同,则选取最大概率的词条组成分词结果,如果概率一样,则取逆向分词作为分词结果,得到最终的多分词路径;
对所述多分词路径的多条路径做排序,按粒度大小降序排列。
在一个优选例中,所述根据所述规则词典中的特征词对所述搜索字符串进行分词,进一步包括:
使用第二分词服务,加载所述规则词典,构建双数组Trie树,使所述第二分词服务基于规则词典对未标注的医药词条进行切分处理,得到粗分词网;
使用正向/逆向最大粒度匹配原则选取最优路径,该路径按照粒度降序排列,当正向/逆向分词粒度大小一致时,根据概率模型计算概率,如果概率不同,则选取最大概率的词条组成分词结果,如果概率一样,则取逆向分词作为分词结果,得到最优路径分词结果;
对所述最优路径分词结果中不在规则词典中的连续单字做合并操作,得到一个或多个组合词,其中连续单字的数量在预设范围内。
在一个优选例中,在所述根据所述药品词典对输入的搜索字符串进行多路径分词,得到多路径分词结果的步骤之前,还包含以下步骤:
对已有的药品建立药品索引,其中,所述药品索引的索引分词是所述第一分词服务的索引分词与所述第二分词服务的索引分词的并集。
在一个优选例中,所述根据所述药品词典对输入的搜索字符串进行多路径分词,进一步包括:
使用所述药品词典对搜索字符串做词典全切分后,得到粗分词网;
使用正向/逆向最大粒度匹配原则选取最优的两条路径,所述路径按照粒度降序排列,当正向/逆向分词粒度大小一致时,根据概率模型计算概率,如果概率不同,则选取最大概率的词条组成分词结果,如果概率一样,则取逆向分词作为分词结果,得到最终的多分词路径;
对所述多分词路径的多条路径做排序,按粒度大小降序排列。
在一个优选例中,所述药品词典预先根据已有的药品数据建立,所述药品词典的建立步骤包括:
获得原始的药品文本数据,对所述原始的药品文本数据进行清洗,获得经清洗的药品文本数据;
创建基础词条标注关系表,所述基础词条标注关系表至少包含每个词条的词性、词语、词频、相邻词、相邻词词频;
根据所述经清洗的药品文本数据,利用所述基础词条标注关系表,生成所述药品词典。
在一个优选例中,所述词性可包含以下之一或其任意组合:药品通用名、药品品牌、药品成分、药品别名、药品规格。
在一个优选例中,所述根据所述经清洗的药品文本数据,利用所述基础词条标注关系表,生成所述药品词典,进一步包括:
对所述经清洗的药品文本数据进行人工标注,提取出所述药品文本数据中的标注好的药品通用名、药品品牌、药品成分和药品规格,统计合并得到粗分词条和相应的词性、词语、词频、相邻词和相邻词词频概率,存入所述基础词条标注关系表,生成粗分词典;
对所述粗分词典的粗分词条中的复合词和成分词进行细分,并统计标注出细分结果的词性、词语、词频、相邻词和相邻词词频概率,存入所述基础词条标注关系表,生成细分词典;
将所述粗分词典和细分词典去重合并,存入所述基础词条标注关系表,生成所述药品词典,该药品词典包含完整的词性、词语、词频、相邻词和相邻词词频。
本申请还公开了一种药品分词搜索系统包含:
第一分词服务模块,用于根据预先设定的药品词典进行多路径分词;
第二分词服务模块,用于根据预先设定的规则词典进行分词,其中所述规则词典包括剂型特征词、高频特征词和组成特征词;
搜索服务模块,用于接收输入的搜索字符串,调用所述第一分词服务模块多路径分词,得到多路径分词结果,如果该多路径分词结果的最粗粒度路径中至少有一组连续单字的单字数量在预设范围内,则进一步调用所述第二分词服务模块根据所述规则词典中的特征词对所述搜索字符串进行分词,其中,如果相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径加入到所述多路径分词结果,使用所述多路径分词结果进行药品搜索。
本申请还公开了一种药品分词搜索系统包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如前文描述的药品分词搜索方法中的步骤。
本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的药品分词搜索方法中的步骤。
本申请实施方式中,本申请根据预先根据药品的剂型规则词、药品的高频特征规则词、药品的组成特征规则词建立药品的规则词典,该规则词典用于对未标注的医药词条进行分词处理,然后,先对搜索字符串根据药品词典进行多路径分词,如果所述多路径分词结果的最粗粒度路径中至少有一组连续单字的单字数量在预设范围内,则进一步根据所述规则词典中的特征词对所述搜索字符串进行分词,其中,如果相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径加入到所述多路径分词结果。换句话说,本申请用医药领域特有的“规则模型”弥补了“词典统计模型”难以发现新词、标注不全面的弊端,对新词、未标注词的可以做到高概率的准确切分,减少了人工标注的成本。由此可见,本申请巧妙组合了第一分词服务和第二分词服务的工作流程,使得医药领域标注的“词典统计模型”和医药领域特有的“规则模型”可以按照特定的方式相互协作地参与医药分词,提升分词的准确性,并且,利用标注好的医药领域的“词典统计模型”保障药品领域分词的大盘准确性,当前者切词效果不理想时,进一步利用医药领域特有“规则模型”弥补“词典统计模型”难以发现新词、标注不全面的弊端,显著提升了医药分词准确率。
本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
图1是根据本申请第一实施方式的药品分词搜索方法的流程示意图;
图2是根据本申请第一实施方式的药品分词搜索方法的具体流程示意图;
图3是根据本申请第二实施方式的药品分词搜索系统的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
本申请的第一实施方式涉及一种药品分词搜索方法,其流程如图1-2所示,该方法包括以下步骤:
步骤110-120:预先根据已有的药品数据建立药品词典,并且设定规则词典,其中所述规则词典包括剂型特征词、高频特征词和组成特征词。规则词典用于对未标注的医药词条进行分词处理,药品词典用于对已标注的医药词条进行分词处理。具体如下:
步骤110:根据药品数据,建立药品词典。简单地说,药品词典包括药品行业的已标注的词条。
优选的,本步骤可通过以下方式具体实现:
子步骤1101:获得原始的药品文本数据,对所述原始的药品文本数据进行清洗,获得经清洗的药品文本数据。
具体的,可先获取药品数据集合M,再根据药品数据集合M获得原始的药品文本数据。其中,药品数据可以是由当前商品系统、数据库提供的所有药品数据集合M。
优选的,所述药品数据集合中可包含以下之一或其任意组合:商品标题、商品文描、商品说明书等,
具体的,可通过对所述药品文本数据做标准化处理,包括,例如:大小写、简繁体处理、无用符号处理、停用词处理等,得到清洗过的药品文本数据。
子步骤1102:创建基础词条标注关系表。
优选的,所述基础词条标注关系表至少包含每个词条的词性、词语、词频、相邻词、相邻词词频。
其中,词性可包含以下之一或其任意组合:药品通用名、药品品牌、药品成分、药品别名、药品规格,等等。
子步骤1103:根据所述经清洗的药品文本数据,利用所述基础词条标注关系表,生成药品词典。
具体的,本步骤可通过以下方式具体实现:
子步骤1103a:根据所述经清洗的药品文本数据,利用所述基础词条标注关系表,生成粗分词典。
具体的,对所述经清洗的药品文本数据进行人工标注,提取出所述药品文本数据中的标注好的药品通用名、药品品牌、药品成分、药品规格,等等,统计合并得到粗分词条和相应的词性、词语、词频、相邻词、相邻词词频概率,存入所述基础词条标注关系表,生成粗分词典。
子步骤1103b:利用所述粗分词典生成细分词典。
具体的,取出粗分词典,对其中的每一个词条重新建立基础词条标注关系表,对粗分词条进行再标注。需指出,本次标注的重点在于,对粗分词典的粗分词条中的复合词、成分词进行细分。然后,类似的,统计标注出词性、词语、词频、相邻词和相邻词词频概率,存入基础词条标注关系表,生成细分词典。
子步骤1103c:根据所述粗分词典和细分词典,生成药品词典。
具体的,将所述粗分词典和细分词典去重合并,存入基础词条标注关系表,生成药品词典。该药品词典包含完整的词性、词语、词频、相邻词、相邻词词频。
步骤120:根据药品的剂型规则词、药品的高频特征规则词、药品的组成特征规则词,建立规则词典,所述规则词典中包含:规则词字段、以及相应的规则词类型字段,其中,所述规则词典用于对未标注的、新的医药词条进行分词处理。
优选的,可通过以下方式具体实现:
子步骤1201:分别建立药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表。
优选的,对于药品的剂型规则词表,常见的剂型规则词有40余种,例如:"混悬滴剂"、"口服溶液"、"缓释片"、"口服液"、 "喷雾剂"、"分散片"、"咀嚼片"、"混悬剂"、"混悬液"、"胶囊"、"颗粒"、"溶液"、"软膏"、"乳膏",等等。
优选的,对于药品的高频特征规则词表,在西药翻译成中文的过程中,诞生了一系列描述药品特征的高频特征词,常见的有,例如:“头孢”、“他汀”、“盐酸”、“普利”、“地平”、“霉素”、“格列”、“莫司”,等等。
优选的,对于药品的组成特征规则表,常见的组成特征有,例如:“复方”、 “复合”,等等。
优选的,可通过手工建立上述三种规则词表。
子步骤1202:将所述药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表的数据进行合并,存储到规则模型表中,生成规则词典。
步骤130-150:配置第一分词服务、第二分词服务以及建立药品索引。具体如下:
步骤130:启用第一分词服务,通过加载常规的现代汉语分词模型,再增量装载预标注训练好的药品词典,构建双数组Trie树,使第一分词服务基于所述现代汉语分词模型、以及药品词典对已标注的医药词条进行切分处理。
需指出,所述第一分词服务能够兼容常规语料分词、已标注的药品分词。
优选的,所述第一分词服务可提供索引分词接口和搜索分词接口。
其中,索引分词的处理方式可以是:对输入的搜索字符串,做词典全切分,经过药品词典得到粗分词网,该粗分词网切分出该短文字符串所有的分词可能性。
举例来说,“万高厄贝沙坦氢氯噻嗪分散片”的粗分词网为:
[万高/nhmb, 厄贝沙坦氢氯噻嗪分散片/nhm, 厄贝沙坦氢氯噻嗪/nhm, 厄贝沙坦氢氯噻/nhm, 厄贝沙坦氢氯/nhm, 厄贝沙坦/nhm, 厄贝沙/nhm, 厄/j, 贝沙坦/nrf, 贝/j,沙坦/nrf, 沙/n, 坦/j, 氢氯噻嗪/nhm, 氢/n, 氯噻嗪/nhmc, 氯/n, 噻嗪/n, 噻/n,嗪/g, 分散片/nz, 分散/v, 分/q, 散片/nhm, 散/v, 片/q]。
其中,搜索分词(多路径分词)的处理方式可以是,对搜索字符串做词典全切分后,得到粗分词网,使用正向/逆向最大粒度匹配原则选取最优的两条路径,该路径按照粒度降序排列,当正向/逆向分词粒度大小一致时,根据概率模型计算概率,如果概率不同,则选取最大概率的词条组成分词结果,如果概率一样,则取逆向分词作为分词结果,得到最终的多分词路径,对多分词路径的多条路径做排序,按粒度大小降序排列。
举例来说,“万高厄贝沙坦氢氯噻嗪分散片”多分词路径后得到:
[[万高/nhmb, 厄贝沙坦氢氯噻嗪分散片/nhm], [万高/nhmb, 厄贝沙坦氢氯噻嗪/nhm, 分散片/nz]]。
步骤140:启用第二分词服务,加载规则词典,构建双数组Trie树,使第二分词服务基于规则词典对未标注的或新的医药词条进行切分处理,其中,对初次分词结果中数量在预设范围内的连续单字做合并处理,并赋予组合词词性。本步骤可以识别出新词、未标注词,用医药领域特有“规则模型”弥补了“词典统计模型”难以发现新词、标注不全面的弊端,同时减少了人工标注的时间成本。
优选的,所述第二分词服务可提供索引分词接口和搜索分词接口。
其中,索引分词的处理方式具体如下:
首先,使用规则词典对搜索字符串做词典全切分,得到粗分词网,该词网切分出该搜索字符串基于规则词典的所有可能性。
举例来说,“盐酸维拉帕米缓释片”的粗分词网为:
[盐酸/freq,盐/n,酸/n, 维/q, 拉/v, 帕/ng, 米/q, 缓释片/type,缓释/v, 缓/v,释/v,片/n]
使用正向/逆向最大粒度匹配原则选取最优路径,该路径按照粒度降序排列,当正向/逆向分词粒度大小一致时,根据概率模型计算概率,如果概率不同,则选取最大概率的词条组成分词结果,如果概率一样,则取逆向分词作为分词结果,得到最优路径分词结果WP1:[盐酸/freq, 维/q, 拉/v, 帕/ng, 米/q, 缓释片/type]
进一步的,对WP1中不在规则词典中的连续单字做合并操作,得到多个组合词MergeWord,赋予组合词MergeWord的词性为“merge”,优选的,要求连续单字的数量Numb满足:
n < 数量Numb < m ,其中n和m阈值可以根据实际情况进行配置
换句话说,连续单字的数量在预设范围内。
本示例中“盐酸/freq” 和 “缓释片/type”为规则词典中的词条,因此,合并其余的连续单字,得到组合词MergeWord为“维拉帕米/merge”。
需指出,本步骤假设出现在两个规则词条中间的组合词MergeWord有极大概率是未标注的或新的医药词条;该假设虽然冗余了一部分数据,但对新词、未标注词的可以做到高概率的准确切分,减少了人工标注的成本,提升了新词、未标注词的分词准确度。
进一步的,有组合词MergeWord为“维拉帕米/merge”,得到最优路径分词结果:[盐酸/freq, 维拉帕米/merge, 缓释片/type]
进一步的,合并粗分词网、 最优路径分词结果,作为搜索字符串的索引分词。
举例来说:“盐酸维拉帕米缓释片”的索引分词结果为
[盐酸/freq,盐/n,酸/n, 维/q, 拉/v, 帕/ng, 米/q, 维拉帕米/merge, 缓释片/type,缓释/v, 缓/v,释/v,片/n]
进一步的,搜索分词同上文中的索引分词逻辑一致,但返回值只取最优路径分词结果。
举例来说:“盐酸维拉帕米缓释片”的搜索分词结果为
[盐酸/freq, 维拉帕米/merge, 缓释片/type]
步骤150:根据所述第一分词服务与第二分词服务,对已有的药品建立搜索引擎需要的索引分词,所述索引分词的存储结构可采用搜索引擎常用的倒排索引结构;其中,所述索引分词的数据采用所述第一分词服务的索引分词与所述第二分词服务的索引分词的并集。
索引分词使用所述“并集”使得医药领域标注的“词典统计模型”和医药领域特有的“规则模型”可以协作参与建立搜索引擎倒排索引的医药分词,改善了以往使用“现代汉语分词模型”等常规分词模型在医药领域的分词覆盖面和准确率问题,提升了搜索召回匹配的查全率和查准率;
优选的,已有的药品可以是现有医药商品库中的所有药品。
例如:“盐酸维拉帕米缓释片“的索引分词为:
[盐酸/freq,盐/n,酸/n, 维拉帕米/merge,维/q, 拉/v, 帕/ng, 米/q, 缓释片/type,缓释/v, 缓/v,释/v,片/n]
步骤160:用户输入搜索词K,服务端调用第一分词服务根据所述药品词典对用户输入的搜索字符串进行多路径分词,得到多路径分词结果P,并且,如果所述多路径分词结果P的最粗粒度路径(第一条路径)中至少有一组连续单字的单字数量在预设范围内,则调用第二分词服务进一步根据所述规则词典中的特征词(包括剂型特征词、高频特征词和组成特征词)对所述搜索字符串进行分词,其中,如果经过分词后,相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径P0加入到所述多路径分词结果P中。
如果不满足所述多路径分词结果P的最粗粒度路径(第一条路径)中至少有一组连续单字的单字数量在预设范围内的条件,则不会进行分词,保持现有的多路径分词结果P即可。
如果经过分词后,相邻的特征词之间的连续单字的单字数量不在预设范围内,则保持现有的多路径分词结果P。
换句话说,本步骤中,获取用户输入的搜索字符串,通过所述第一分词服务与第二分词服务,对所述搜索字符串进行联合分词处理,以获得最佳的分词效果,得到多路径分词。
优选的,可通过以下方式具体实现:
子步骤1601:由所述第一分词服务的搜索分词接口对所述搜索字符串进行分词处理,生成多路径分词P。
举例来说,“盐酸维拉帕米缓释片”的多路径分词P,多路径分词P的数据结构可以是List<List<Object>>, 例如:
[[盐酸/nhm, 维/q, 拉/v, 帕/ng, 米/q, 缓释片/nz], [盐酸/nhm, 维/q, 拉/v,帕/ng, 米/q, 缓释/v, 片/nz]]。
步骤1602:检测所述多路径分词P的第一条路径包含的连续单字数量Numb,是否满足:
n< Numb <m,其中n和m阈值可以根据实际情况进行配置
如果否,本次搜索字符串的搜索分词结束,得到多路径分词P。
如果是,则由所述第二分词服务对所述搜索字符串进行搜索分词,得到分词结果P0。
例如:搜索词“盐酸维拉帕米缓释片”在第二分词服务的搜索分词接口得到分词结果P0:[盐酸/freq, 维拉帕米/merge, 缓释片/type]
进一步的,将所述分词结果P0添加到所述多路径分词P中,得到最终的多路径分词P。
例如,搜索词“盐酸维拉帕米缓释片”的最终多路径分词P为:[[盐酸/freq, 维拉帕米/merge, 缓释片/type] ,[盐酸/nhm, 维/q, 拉/v, 帕/ng, 米/q, 缓释片/nz], [盐酸/nhm, 维/q, 拉/v, 帕/ng, 米/q, 缓释/v, 片/nz]]。
本步骤组合了第一分词服务和第二分词服务的工作流程,使得医药领域标注的“词典统计模型”和医药领域特有的“规则模型”可以协作参与医药分词,提升分词的准确性,换句话说,用标注好的医药领域的“词典统计模型”保障药品领域分词的大盘准确性,当前者切词不佳时,用医药领域特有“规则模型”弥补了“词典统计模型”难以发现新词、标注不全面的弊端,使得医药分词准确率有了进一步的提升。
举例来说,“盐酸维拉帕米缓释片”的最终的多路径分词P为:
[[盐酸/freq, 维拉帕米/merge, 缓释片/type] 、[盐酸/nhm, 维/q, 拉/v, 帕/ng,米/q, 缓释片/nz], [盐酸/nhm, 维/q, 拉/v, 帕/ng, 米/q, 缓释/v, 片/nz]]。
步骤170:搜索服务使用所述多路径分词结果进行药品搜索。
在一个实施例中,使用所述多路径分词结果进行药品搜索可以通过以下子步骤实现:
a)按顺序赋予多路径分词结果中每条路径的文本权重值为W1/W2/../Wn,让每条路径的文本权重逐级递减,即W1>W2>..>Wn
b)满足任一路径即可被召回,召回的药品赋予对应路径的文本权重,按此权重进行降序排列,至此,已利用本申请的分词方法实现药品行业的精确搜索,兼顾搜索召回的查准率和查全率;
c)当搜索无结果或少结果时,可以结合业务需要,在多分词路径P中,丢弃词性为品牌、剂型的词条,得到多路径分词Q,由搜索服务Server使用多路径分词Q进行二次补充召回,尽可能的召回强相关的药品,给予前台用户较好的体验。
上述实施例中,根据预先根据药品的剂型规则词、药品的高频特征规则词、药品的组成特征规则词建立药品的规则词典,该规则词典用于对未标注的、新的医药词条进行分词处理,然后,先对搜索字符串根据药品词典进行多路径分词,如果所述多路径分词结果的最粗粒度路径中至少有一组连续单字的单字数量在预设范围内,则进一步根据所述规则词典中的特征词对所述搜索字符串进行分词,其中如果相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径加入到所述多路径分词结果。换句话说,本申请用医药领域特有的“规则模型”弥补了“词典统计模型”难以发现新词、标注不全面的弊端,对新词、未标注词的可以做到高概率的准确切分,减少了人工标注的成本。由此可见,上述实施例巧妙组合了第一分词服务和第二分词服务的工作流程,使得医药领域标注的“词典统计模型”和医药领域特有的“规则模型”可以按照特定的方式相互协作地参与医药分词,提升分词的准确性,并且,利用标注好的医药领域的“词典统计模型”保障药品领域分词的大盘准确性,当前者切词效果不理想时,进一步利用医药领域特有“规则模型”弥补“词典统计模型”难以发现新词、标注不全面的弊端,显著提升了医药分词准确率。
本申请的第二实施方式涉及一种药品分词搜索系统,其结构如图3所示,该药品分词搜索系统包括:
第一分词服务模块,用于根据预先设定的药品词典进行多路径分词;
第二分词服务模块,用于根据预先设定的规则词典进行分词,其中所述规则词典包括剂型特征词、高频特征词和组成特征词;
搜索服务模块,用于接收输入的搜索字符串,调用所述第一分词服务模块多路径分词,得到多路径分词结果,如果该多路径分词结果的最粗粒度路径中至少有一组连续单字的单字数量在预设范围内,则进一步调用所述第二分词服务模块根据所述规则词典中的特征词对所述搜索字符串进行分词,其中,如果相邻的特征词之间的连续单字的单字数量在预设范围内,则将所述相邻的特征词之间的连续单字合并为一个组合词,并将包含该组合词的分词结果作为一条新的路径加入到所述多路径分词结果,使用所述多路径分词结果进行药品搜索。
可选地,在一个实施例中,对第二分词服务模块的调用可以是由搜索服务模块发起,然后由搜索服务模块将从第一分词服务模块获得的多路径分词结果和从第二分词服务模块获得的分词结果合并。在另一个实施例中,也可以是第一分词服务模块调用第二分词服务模块,然后由第一分词服务模块将从第二分词服务模块得到的分词结果合并到自己的多路径分词结果,再提供给搜索服务模块。
优选的,所述设定规则词典,包含以下子步骤:
分别建立药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表;以及
将所述药品的剂型规则词表、药品的高频特征规则词表、以及药品的组成特征规则词表的数据进行合并,生成规则词典。
优选的,所述规则词典用于对未标注的医药词条进行分词处理。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
需要说明的是,本领域技术人员应当理解,上述药品分词搜索系统的实施方式中所示的各模块的实现功能可参照前述药品分词搜索方法的相关描述而理解。上述药品分词搜索系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本申请实施例上述药品分词搜索系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施方式还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本申请的各方法实施方式。
此外,本申请实施方式还提供一种药品分词搜索系统,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(CentralProcessing Unit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,简称“DSP”)、专用集成电路(Application Specific IntegratedCircuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-only memory,简称“ROM”)、随机存取存储器(random access memory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本申请提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,在阅读了本申请的上述公开内容之后,本领域技术人员可以对本申请作各种改动或修改,这些等价形式同样落于本申请所要求保护的范围。