一种中药药材的检索方法、装置、电子设备及存储介质

文档序号:1889408 发布日期:2021-11-26 浏览:3次 >En<

阅读说明:本技术 一种中药药材的检索方法、装置、电子设备及存储介质 (Retrieval method and device of traditional Chinese medicine medicinal materials, electronic equipment and storage medium ) 是由 李正 于 2021-08-31 设计创作,主要内容包括:本发明公开了一种中药药材的检索方法、装置、电子设备及存储介质,本发明对于同一个中药有着不同的称呼的情况下,在检索时只需用户输入自己知道或熟悉的名称进行检索即可得到期望的检索结果;同时,本发明将搜索字段转换为汉语拼音后进行检索,能有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。(The invention discloses a method and a device for searching traditional Chinese medicine materials, electronic equipment and a storage medium, wherein under the condition that the same traditional Chinese medicine is called differently, a user only needs to input a name known or familiar to the user for searching to obtain an expected searching result; meanwhile, the search field is converted into the Chinese pinyin and then searched, so that the scene of &#39;different sounds and characters&#39; can be effectively covered, and the problem that the expected goods cannot be searched out due to the fact that the user inputs different characters can be eliminated to the greatest extent.)

一种中药药材的检索方法、装置、电子设备及存储介质

技术领域

本发明属于药材检索技术领域,具体涉及一种中药药材的检索方法、装置、电子设备及存储介质。

背景技术

随着互联网的快速发展,中药产业与互联网的联系也越来越紧密,以商城作为客户与运营方的交互平台,成为中药产业的重要运营方式之一;其运营模式为:用户在搜索栏中输入关键字,商城则根据用户的关键字进行检索以匹配得到检索结果(也就是商品名称),而用户则对检索结果进行浏览和/或下单等进一步操作。

目前,对关键字的检索,大多以后端数据库提供的商品名称的模糊匹配功能作为检索条件;如搜索“艾叶”,将得到商品名称中包含关键字“艾叶”的商品:艾叶三级、艾叶二级和艾叶二级(批发品)等,但是由于中药行业对于药材名称的专业性和特殊性,前述关键字检索方法存在以下不足:

(1)药材名称存在较多生僻字,经常出现用户无法拼写,而输入别字代替,导致无法检索出期望结果;(2)由于历史和地域性因素,同一种药材商品存在多个名称;例如重楼又名七叶一枝花,苍术又名山羌等等,极易使用户因商品多别名致使缺少数据,导致用户无法检索出期望的商品;因此,提供一种精确全面的检索方法迫在眉睫。

发明内容

本发明的目的是提供一种中药药材的检索方法、装置、电子设备及存储介质,以解决现有中药药材检索因用户输入别字代替以及存在多个名称,无法检索出期望商品的问题。

为了实现上述目的,本发明采用以下技术方案:

本发明提供了一种中药药材的检索方法,包括:

建立药材名称检索库,其中,所述药材名称检索库中的任一药材名称包括汉字名称字段以及所述汉字名称字段对应的拼音字段,且所述汉字名称字段包括用于表示同一药材的所有药名;

获取用户输入的搜索字段;

将所述搜索字段转换为拼音,得到搜索拼音字段;

根据所述搜索字段和所述搜索拼音字段,在所述药材名称检索库中查找出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称,作为检索结果;

将所述检索结果返回给前端进行展示。

基于上述公开的内容,本发明首先建立一个全面的检索数据库,即药材名称检索库,其内部任一药材名称均包含有表示该药材的药名(即包含有多个因地域不同的别名),以及每个别名对应的拼音字段;由此,即可为药材搜索提供全面的数据库,保证输入药材的不同别名,也能实现精确检索;其次,本发明将用户输入的搜索字段转换为搜索拼音字段,并以搜索拼音字段以及搜索字段为依据,在数据库中进行检索;由此,能够有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。

通过上述设计,本发明对于同一个中药有着不同的称呼的情况下,在检索时,使得用户只需输入自己知道或熟悉的名称进行检索即可得到期望的检索结果;同时,将搜索字段转换为汉语拼音后进行检索,能有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。

在一个可能的设计中,建立药材名称检索库,包括:

对于所有中药药材中的任一中药药材,获取用于表征所述任一中药药材的所有药名,作为所述任一中药药材的汉字名称字段;

将所述任一中药药材的汉字名称字段转换为拼音,得到所述任一中药药材的汉字名称字段对应的拼音字段;

为所述任一中药药材的汉字名称字段以及所述拼音字段建立检索索引;

根据所述任一中药药材的汉字名称字段、所述拼音字段以及所述检索索引,建立所述药材名称检索库。

基于上述公开的内容,本发明公开了药材名称检索库的建立步骤,即先导入同一药材的所有别名,得到汉字名称字段;然后再将同一药材的所有别名转换为汉字拼音,从而得到拼音字段;最后,为所有药材的汉字名称字段以及拼音字段建立检索索引(其作用是便于在检索时,进行快速查找),即可完成所有药材的药材名称的数据库的建立。

在一个可能的设计中,所述检索索引包括索引哈希值以及与所述索引哈希值相对应的存储地址,其中,所述索引哈希值包括所述汉字名称字段对应的哈希值以及所述拼音字段对应的哈希值;

其中,根据所述搜索字段和所述搜索拼音字段,在所述药材名称检索库中查找出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称,作为检索结果,包括;

计算所述搜索字段和所述搜索拼音字段的哈希值,作为搜索哈希值;

在所述药材名称检索库中,查找出与所述搜索哈希值相匹配的索引哈希值,作为检索哈希值;

将所述检索哈希值对应的存储地址中的药材名称,作为所述检索结果。

基于上述公开的内容,本发明以汉字名称字段的哈希值以及拼音字段的哈希值作为索引哈希值,从而以该索引哈希值为检索索引,建立其与对应药材名称的地址链接;而在检索时,即可先计算搜索字段以及搜索拼音字段的哈希值,然后将搜索哈希值与索引哈希值进行对比,判断是否存在有相同的哈希值,若是,则根据存储地址进行查找,从而将该存储地址对应的药材名称作为检索结果。

在一个可能的设计中,在将所述检索结果返回给前端进行展示前,所述方法还包括:

计算所述检索结果对应的药材名称与所述搜索字段的相似度,以及与所述搜索拼音字段的相似度;

按照相似度从高到低的顺序,对所述检索结果进行排序。

基于上述公开的内容,通过相似度的高度顺序,对检索结果进行排序,能够将匹配度高的结果展示在前面,便于用户优先查看相关度高的药材名称。

在一个可能的设计中,计算所述检索结果对应的药材名称与所述搜索字段的相似度,包括:

对所述检索结果对应的药材名称中的汉字名称字段进行概念划分,得到第一概念集合;

对所述搜索字段进行概念划分,得到第二概念集合,其中,所述第一概念集合和所述第二概念集合均包括第一基本义原描述、其它基本义原描述、关系义原描述以及关系符号描述;

计算所述第一概念集合中的第一基本义原描述与所述第二概念集合中的第一基本义原描述的相似度,得到第一基本义原描述相似度;

计算所述第一概念集合中的其它基本义原描述与所述第二概念集合中的其它基本义原描述的相似度,得到其它基本义原描述相似度;

计算所述第一概念集合中的关系义原描述与所述第二概念集合中的关系义原描述的相似度,得到关系义原描述相似度;

计算所述第一概念集合中的关系符号描述与所述第二概念集合中的关系符号描述的相似度,得到关系符号描述相似度;

根据所述第一基本义原描述相似度、所述其它基本义原描述相似度、所述关系义原描述相似度和以及所述关系符号描述相似度,得到所述检索结果对应的药材名称与所述搜索字段的相似度。

在一个可能的设计中,计算所述检索结果对应的药材名称与所述搜索拼音字段的相似度,包括:

获取第一字母总数,其中,所述第一字母总数为所述检索结果对应的药材名称中的拼音字段与所述搜索拼音字段中都存在的字母的个数;

获取第二字母总数,其中,所述第二字母总数为所述拼音字段中存在,且所述搜索拼音字段中不存在的字母的个数;

获取第三字母总数,其中,所述第三字母总数为所述搜索拼音字段中存在,且所述拼音字段中不存在的字母的个数;

根据所述第一字母总数、所述第二字母总数以及所述第三字母总数,得到所述检索结果对应的药材名称与所述搜索拼音字段的相似度。

在一个可能的设计中,在将所述搜索字段转换为拼音,得到搜索拼音字段前,所述方法还包括:

判断所述搜索字段中的每个汉字是否为繁体字;

若是,则将所述搜索字段中的每个汉字转换为简体。

第二方面,本发明提供了一种中药药材的检索装置,包括:数据库建立单元、获取单元、转换单元、查找单元以及传输单元;

所述数据库建立单元,用于建立药材名称检索库,其中,所述药材名称检索库中的任一药材名称包括汉字名称字段以及所述汉字名称字段对应的拼音字段,且所述汉字名称字段包括用于表示同一药材的所有药名;

所述获取单元,用于获取用户输入的搜索字段;

所述转换单元,用于将所述搜索字段转换为拼音,得到搜索拼音字段;

所述查找单元,用于根据所述搜索字段和所述搜索拼音字段,在所述药材名称检索库中查找出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称,作为检索结果;

所述传输单元,用于将所述检索结果返回给前端进行展示。

第三方面,本发明提供了一种电子设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述中药药材的检索方法。

第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述中药药材的检索方法。

第五方面,本发明供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述中药药材的检索方法。

附图说明

图1为本发明提供的中药药材的检索系统的结构示意图;

图2为本发明提供的中药药材的检索方法的步骤流程示意图;

图3为本发明提供的中药药材的检索装置的结构示意图;

图4为本发明提供的电子设备的结构示意图。

具体实施方式

下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

实施例

如图1所示,为本申请提供一种系统架构,包括用户终端和搜索引擎,其中,用户终端用于获取用户输入的搜索字段,而搜索引擎内存储有药材名称检索库,其利用本申请提供的检索方法,在药材名称检索库进行检索,以得到检索结果,并展示给用户。

在本实施例中,举例搜索引擎可以但不限于为:ElasticSearch,其是一个分布式、高扩展、高实时的搜索和数据分析引擎;其允许执行和合并多种类型的搜索(如结构化、非结构化、地理位置和/或度量指标),搜索方式多种多样,能够达到实时搜索,具有稳定、可靠、快速、安装以及使用方便等优点。

本实施例第一方面所提供的中药药材的检索方法,对于同一个中药有着不同的称呼的情况下,在检索时只需用户输入自己知道或熟悉的名称进行检索即可得到期望的检索结果;同时,本发明将搜索字段转换为汉语拼音后进行检索,能有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。

本实施例第一方面所提供的中药药材的检索方法,可以但不限于包括如下步骤S1~S5;当然,前述步骤S1~S5可以但不限于在搜索引擎侧执行。

S1.建立药材名称检索库,其中,所述药材名称检索库中的任一药材名称包括汉字名称字段以及所述汉字名称字段对应的拼音字段,且所述汉字名称字段包括用于表示同一药材的所有药名。

步骤S1则是建立检索数据库的过程,而本实施例建立的数据库中的每一药材名称,均包含有该药材的所有别名,以及每个别名对应的拼音字段;由此,即可在检索时,保证用户在输入药材不同的别名的情况下,也可实现药材的准确查找。

下述提供药材名称检索库的其中一种建立方法,可以但不限于如下步骤S101~S104所示。

S101.对于所有中药药材中的任一中药药材,获取用于表征所述任一中药药材的所有药名,作为所述任一中药药材的汉字名称字段。

S102.将所述任一中药药材的汉字名称字段转换为拼音,得到所述任一中药药材的汉字名称字段对应的拼音字段。

步骤S101和步骤S102则是导入药材所有别名以及别名对应汉字拼音的过程,即对于任一药材,先导入其所有别名,然后,在将每个别名转换为拼音,从而得到每个别名的拼音字段,从而使任一药材均存在汉字名称字段,以及拼音字段。

例如,药材七叶一枝花,除前述名字外,其别名还为:蚤休、蚩休、重台根、整休、草河车、重台草、白甘遂、金线重楼、虫蒌、九道箍、鸳鸯虫、枝花头、螺丝七、海螺七、灯台七、白河车、螺陀三七、土三七和七叶莲;那么,前述名称均为药材七叶一枝花的汉字名称字段;而前述药材的汉字名称字段的拼音字段则为:zaoxiu、chixiu、chongtaigen、zhengxiu、caoheche、baigansui、jinxianchoglou、chonglou、jiudaogu、yuanyangchong、zhihuatou、luosiqi、hailuoqi、dengtaiqi、baiheche、luotuosanqi、tusanqi和qiyelian。

通过前述步骤S101和步骤S102,即可统计每一个中药药材的所有名称以及名称对应的拼音,从而建立名称与拼音的联系,以便后续进行药材的检索。

在本实施例中,举例可以但不限于采用中药大全实现药材名称的导入;中药大全设有十九类中草药材,收纳中草药大全,民间偏方,中草药图片,中药功效与作用,收集有各种中药材名称及别名。

在得到中药药材的汉字名称字段以及拼音字段后,即可以索引的方式进行存储,以便形成具有索引标识的数据库,便于后续根据索引标识进行快速查找,以提高检索效率,如下述步骤S103和步骤S104所示。

S103.为所述任一中药药材的汉字名称字段以及所述拼音字段建立检索索引。

S104.根据所述任一中药药材的汉字名称字段、所述拼音字段以及所述检索索引,建立所述药材名称检索库。

在本实施例中,检索索引则是一个检索标识,其与中药药材的汉字名称字段以及拼音字段的存储地址相关联;由此,在检索时,即可根据检索标识,快速定位与之匹配的汉字名称字段以及拼音字段,从而实现快速查找与读取,以提高检索效率。

由此,只需先导入每一个中药药材的所有名称以及对应的拼音字段,存入数据库中,然后在建立每个药材的检索索引,最后,即可将具有检索索引的数据库作为药材名称检索库。

在本实施例中,是将汉字名称字段的哈希值以及拼音字段的哈希值,与对应药材名称的存储地址进行关联,从而建立相应的索引标识;即检索索引包括索引哈希值,而索引哈希值则包括汉字名称字段的哈希值以及拼音字段的哈希值。

例如,假设七叶一枝花的检索标识为哈希值“4”,其关联的存储地址为:数据库中的A1节点-A11存储单元-A111行,B111列;那么,在检索时,只需根据哈希值“4”,即可快速定位至数据库中的A1节点内的A11存储单元,而第A111行以及B111列中的存储内容,则为检索结果。

在建立得到包含有药材所有名称以及所有名称对应的拼音字段的药材名称检索库后,即可进行药材的检索,如步骤S2~S5所示。

S2.获取用户输入的搜索字段。

步骤S2则是用户通过用户终端,在商城的搜索栏中输入搜索字段,从而借助商城的搜索引擎实现药材名称的检索。

在本实施例中,搜索字段可以但不限于包括:关键字、关键词、关键字对应的拼音以及关键词对应的拼音。

而本实施例中,若用户输入的搜索字段中的每个汉字为繁体字,那么则先会将每个汉字转换为简体字,以便后续进行识别。

在本实施例中,为了提高检索的准确度,在检索前,需要将搜索字段转换为拼音,根据拼音以及搜索字段一起进行检索,从而能够有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题;其实现步骤如步骤S3和S4所示。

S3.将所述搜索字段转换为拼音,得到搜索拼音字段。

在本实施例中,举例可以但不限于使用JPinyin工具进行拼音的转换;JPinyin是一种汉字换拼音的开源类库,其主要特性有:

(1)准确、完善的字库;Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;

(2)拼音转换速度快;经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒;

(3)多拼音格式输出支持;JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式;

(4)常见多音字识别;JPinyin支持常见多音字的识别,其中包括词组、成语和/或地名等;

(5)简繁体中文转换。

当然,在本实施例中,若用户输入的搜索字段为拼音字段,那么则无需进行步骤S3,可直接执行步骤S4,进行检索。

S4.根据所述搜索字段和所述搜索拼音字段,在所述药材名称检索库中查找出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称,作为检索结果。

在本实施例中,检索时,则是根据搜索字段以及搜索拼音字段在药材名称检索库中进行检索,即分别检索出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称;由此,即可涵盖汉字检索结果以及拼音检索结果,从而提高检索的全面性,保证能够检索出用户期望的药材名称。

下述提供利用搜索字段以及搜索拼音字段得出检索结果的其中一种具体检索方法,可以但不限于包括如下步骤S401~S403。

S401.计算所述搜索字段和所述搜索拼音字段的哈希值,作为搜索哈希值。

S402.在所述药材名称检索库中,查找出与所述搜索哈希值相匹配的索引哈希值,作为检索哈希值。

S403.将所述检索哈希值对应的存储地址中的药材名称,作为所述检索结果。

由此前述就已阐述,药材的所有名称以及名称对应的拼音字段是以哈希值为依据建立检索索引的,因此,前述检索步骤则是基于搜索字段以及搜索拼音字段的哈希值来实现快速检索。

在本实施例中,举例检索哈希值中存在有搜索哈希值时,即可将相同的哈希值对应存储地址内的药材名称,作为检索结果。

下述以一个实例来阐述前述检索步骤:

假设桂枝的哈希值为:汉字名称字段对应的哈希值(3、5以及8),拼音字段对应的哈希值(7、2以及9),即表明桂枝具有3个名称,以及3个拼音字段。

假设七叶一枝花的哈希值为:汉字名称字段对应的哈希值(1和4),拼音字段对应的哈希值(6和10),即表明七叶一枝花具有2个名称,以及2个拼音字段。

例如,用户输入的搜索字段对应的哈希值为6,搜索拼音字段对应的哈希值为2;那么,根据前述步骤,即可得出搜索拼音字段的哈希值存在于桂枝的拼音字段对应的哈希值中,因此,即可将哈希值2对应的存储地址的药材名称作为检索结果;即前述桂枝的3个名称以及3个拼音字段作为检索结果;同理,搜索字段对应的哈希值存在于七叶一枝花的汉字名称字段对应的哈希值中,因此,也可将七叶一枝花的2个名称以及2个拼音字段也作为检索结果进行输出。

由此,通过前述检索方法,在同一药材存在多个不同的别名的情况下,检索时,用户只需输入自己知道或熟悉的名称进行检索即可得到期望的检索结果;同时,本发明将搜索字段转换为汉语拼音后进行检索,能有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。

在本实施例中,由于用户输入的关键字可能为名称中的一个字或一个词;因此,在设置检索索引,即检索哈希值时,可将汉字名称字段以及拼音字段进行分词处理,然后计算分词后的每个词语的哈希值,从而作为检索哈希值;同理,也可计算每个字的哈希值;由此,检索哈希值即可涵盖整个汉字名称字段、每个汉字、汉字名称字段中的每个词语以及每个拼音字段,从而保证用户仅输入一个词或字,也能够检索出期望的药材。

在本实施例中,得出检索结果后,为了便于用户优先查看与搜索字段最贴切的药材名称,还设置有如下步骤S404和S405,以按照相关度由高到低的顺序,将检索结果进行排序。

S404.计算所述检索结果对应的药材名称与所述搜索字段的相似度,以及与所述搜索拼音字段的相似度。

S405.按照相似度从高到低的顺序,对所述检索结果进行排序。

步骤S404和步骤S405的原理则是:分别计算检索结果对应的药材名称与所述搜索字段的相似度,以及检索结果对应的药材名称与所述搜索拼音字段的相似度,从而按照相似度从高到低的顺序,对检索结果进行排序;即相似度的值越大,代表检索结果对应的药材名称与搜索字段或搜索拼音字段越相关,匹配度越高。

在本实施例中,由于计算出的相似度有两种,一种是检索结果与搜索字段的相似度。另一种是检索结果与搜索拼音字段的相似度;因此,在按照相似度排序时,有两种排序方法:

第一种为:根据两种相似度的值的大小,来进行排序。

第二种则为:根据两种相似度的值,来计算出总相似度,从而根据总相似度进行排序。

对于第二种,假设检索结果与搜索字段的相似度为第一相似度(W1),检索结果与搜索拼音字段的相似度为第二相似度(W2),那么总相似度=kW1+cW2,其中,k和c为权重系数,可以但不限于为用户预设。

下述提供检索结果对应的药材名称与搜索字段的相似度计算的其中一种方法,如以下步骤S404a~S404g所示。

S404a.对所述检索结果对应的药材名称中的汉字名称字段进行概念划分,得到第一概念集合。

S404b.对所述搜索字段进行概念划分,得到第二概念集合,其中,所述第一概念集合和所述第二概念集合均包括第一基本义原描述、其它基本义原描述、关系义原描述以及关系符号描述。

S404c.计算所述第一概念集合中的第一基本义原描述与所述第二概念集合中的第一基本义原描述的相似度,得到第一基本义原描述相似度。

S404d.计算所述第一概念集合中的其它基本义原描述与所述第二概念集合中的其它基本义原描述的相似度,得到其它基本义原描述相似度。

S404e.计算所述第一概念集合中的关系义原描述与所述第二概念集合中的关系义原描述的相似度,得到关系义原描述相似度。

S4104f.计算所述第一概念集合中的关系符号描述与所述第二概念集合中的关系符号描述的相似度,得到关系符号描述相似度。

S404g.根据所述第一基本义原描述相似度、所述其它基本义原描述相似度、所述关系义原描述相似度和以及所述关系符号描述相似度,得到所述检索结果对应的药材名称与所述搜索字段的相似度。

步骤S404a~S404g的原理为:根据词语的词汇语义来计算相似度,其中,使用概念来描述词语语义,一个词可以为几个概念,而义原实则是用于描述概念的最小意义单位;一般来说,一个词语通过用一个特征结构来表示,而该特征结构含有以下四个特征,分别为:第一基本义原描述(其值为一个基本义原);其它基本义原描述(对应于语义表达式中除第一基本义原描述式以外的所有基本义原描述式,其值为一个基本义原的集合);关系义原描述(对应于语义表达式中所有的关系义原描述式,其值是一个特征结构,对于该特征结构的每一个特征,其属性是一个关系义原,其值是一个基本义原或一个具体词);关系符号描述(对应于语义表达式中所有的关系符号描述式,其值也是一个特征结构,对于该特征结构的每一个特征,其属性是一个关系义原,其值是一个集合,该集合的元素是一个基本义原,或一个具体词);因此,对于两个词,只需计算前述4个特征结构的相似度,即可得出两个词的整体相似度。

对于使用概念来描述词汇语义,可通过一系列的义原来描述一个概念,而义原可通过上下位关系组织成一个树状义原层次体系,因此,即可利用以下公式来计算两个词语的相似度,也就是检索结果对应的药材名称中的汉字名称字段与搜索字段的相似度。

假设第一基本义原描述相似度记为:Sim1(Y1,Y2);其它基本义原描述相似度记为:Sim2(Y1,Y2);关系义原描述相似度记为:Sim3(Y1,Y2);关系符号描述相似度记为:Sim4(Y1,Y2),其中,Y1表示搜索字段,Y2表示检索结果对应的药材名称中的汉字名称字段。

那么,Y1和Y2的相似度计算公式为:

上述式中,Sim(Y1,Y2)表示Y1和Y2的相似度,Simi(Y1,Y2)表示Y1和Y2中第i个特征结构的相似度,βi为第i个特征结构的权重系数,且β1234=1,β1≥β2≥β3≥β4

在本实施例中,βi可由用户进行预设。

在本实施例中,举例第一基本义原描述相似度的计算方法为:

假设搜索字段Y1具有n个概念(Y11,Y12...Y1 n),检索结果对应的药材名称中的汉字名称字段Y2具有j个概念(Y21,Y22,...,Y2m),那么第一基本义原描述相似度的计算公式为:

前述式中,n为Y1的概念总数,m为Y2的概念总数,Y1r代表搜索字段Y1中的第r个概念,Y2j代表汉字名称字段Y2中的第j个概念。

由于,在前述就已阐述,一个概念由义原进行描述,因此,前述第一基本义原描述相似度的计算可以变更为计算某个概念中的两个义原之间的相似度,然后取概念相似度最大为最终的结果,即计算公式变更为:

前述式中,P1,P2分别代表Y1r概念中的义原以及Y2j概念中的义原,d表示义原P1和义原P2在义原层次体系中的路径长度,α为常数。

对于其它基本义原描述相似度,其值为一个集合,可以转换为两个基本义原集合的相似度计算问题,即建立两个集合的元素之间的一一对应关系,具体方法为:

第一步:首先计算两个集合的所有元素两两之间的相似度;实质为:第一概念集合以及第二概念集合中语义表达式中除了第一基本义原以外的其它义原,进行两两配对,然后计算二者之间的相似度。

第二步:选取第一步中相似度值最大的两其它义原,作为最大相似度,并建立对应关系;

第三步:从第一步计算得出的相似度中,删除已经建立对应关系的其它义原对应的相似度。

第四步:重复前述第二步以及第三步,直至所有的相似度都已被删除,以在每次循环时,得到一个最大相似度。

第五步:求和每次循环得到的最大相似度的值,并取平均值,得到其它基本义原描述相似度。

对于关系义原描述相似度:其值为一个特征结构,可以转换为计算两个特征结构的相似度,其中,属性相同的特征之间一一对应,如果没有属性相同的特征,那么该特征的对应物为空;因此,特征结构的相似度就转化为各个特征的相似度的加权平均。

同理,关系符号描述相似度的值也为一个特征结构,也可转换为两个特征结构的加权平均;即计算原理可参见第一基本义原描述相似度。

最后,在得出第一基本义原描述相似度、其它基本义原描述相似度、关系义原描述相似度以及关系符号描述相似度后,即可按照前述Y1和Y2的相似度计算公式,得出检索结果对应的药材名称与所述搜索字段的相似度。

下述提供检索结果对应的药材名称与所述搜索拼音字段的相似度的一种具体计算方法,可以但不限于包括如下步骤S401h~S401k。

S401h.获取第一字母总数,其中,所述第一字母总数为所述检索结果对应的药材名称中的拼音字段与所述搜索拼音字段中都存在的字母的个数。

S401i.获取第二字母总数,其中,所述第二字母总数为所述拼音字段中存在,且所述搜索拼音字段中不存在的字母的个数。

S401j.获取第三字母总数,其中,所述第三字母总数为所述搜索拼音字段中存在,且所述拼音字段中不存在的字母的个数。

S401k.根据所述第一字母总数、所述第二字母总数以及所述第三字母总数,得到所述检索结果对应的药材名称与所述搜索拼音字段的相似度。

下述用一个公式来阐述前述步骤S401h~S401k:

U(S1,S2)=b1q/(b2q+b3r+b4s)

前述式中,S1表示搜索拼音字段,S2表示检索结果对应的药材名称中的拼音字段,q表示第一字母总数,r表示第三字母总数,s表示第二字母总数;U(S1,S2)表示S1和S2的相似度;而b1、b2、b3和b4分别表示第一字母总数的权重系数、第三字母总数的权重系数以及第二字母总数的权重系数(由用户预设至搜索引擎中)。

在得出前述两种相似度的值后,即可按照前述第一种排序方法或第二种排序方法对检索结果进行排序,并返回至前端进行展示,如步骤S5所示。

S5.将所述检索结果返回给前端进行展示。

在本实施例中,在进行展示时,可对排序前三位的检索结果进行高亮显示,例如,采用红色字体进行显示,以增加辨识度。

由此通过前述步骤S1~S5所详细描述的中药药材的检索方法,本发明对于同一个中药有着不同的称呼的情况下,在检索时只需用户输入自己知道或熟悉的名称进行检索即可得到期望的检索结果;同时,本发明将搜索字段转换为汉语拼音后进行检索,能有效涵盖“音同字不同”的场景,最大可能排除用户因输入别字而导致无法检索出期望商品的问题。

如图3所示,本实施例第二方面提供了一种实现实施例第一方面中所述的中药药材的检索方法的硬件装置,包括:数据库建立单元、获取单元、转换单元、查找单元以及传输单元。

所述数据库建立单元,用于建立药材名称检索库,其中,所述药材名称检索库中的任一药材名称包括汉字名称字段以及所述汉字名称字段对应的拼音字段,且所述汉字名称字段包括用于表示同一药材的所有药名。

所述获取单元,用于获取用户输入的搜索字段。

所述转换单元,用于将所述搜索字段转换为拼音,得到搜索拼音字段。

所述查找单元,用于根据所述搜索字段和所述搜索拼音字段,在所述药材名称检索库中查找出与所述搜索拼音字段相匹配的药材名称以及与所述搜索字段相匹配的药材名称,作为检索结果。

所述传输单元,用于将所述检索结果返回给前端进行展示。

本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

如图4所示,本实施例第三方面提供了一种电子设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的中药药材的检索方法。

具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction set computer,RSIC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。

本实施例提供的计算机主设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

本实施例第四方面提供了一种存储包含有实施例第一方面所述的中药药材的检索方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的中药药材的检索方法。

其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的中药药材的检索方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种页面加载方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!