中国生物医学文献服务系统(SinoMed)截词检索功能分析

2016-03-21 10:51
中华医学图书情报杂志 2016年6期
关键词:英文字母字符串阿拉伯数字

SinoMed由中国医学科学院医学信息研究所/图书馆开发的生物医学领域重要的检索工具,也是医学信息检索教学和医药卫生查新中最常用的中文数据库。它整合了包括中国生物医学文献数据库(CBM)、西文生物医学文献数据库(WBM)、北京协和医学院博硕士学位论文数据库等8种资源,学科范围广泛、年代跨度大,更新及时。其中使用最广泛的CBM收录了1978年至今1 800余种中国生物医学期刊以及汇编、会议论文,目前文献题录达820余万篇[1]。

1 SinoMed的截词检索功能

SinoMed平台上的中国生物医学文献数据库是该平台使用范围最广的二次检索数据库,其检索功能比较强大,除了常见的快速检索、高级检索和主题词检索外,还具有智能检索、分类检索和截词检索等功能。

截词检索,也称词干检索或字符屏蔽检索,是指用给定的词干做检索词,查找含有该词干的全部检索词的记录,可以起到扩大检索范围、提高查全率、减少检索词的输入量、节省检索时间等作用[2]。简单来讲,截词检索是在检索标识中保留相同的部分,用截词符代替可变化的部分,即通配符检索[3]。检索时,系统会将所有含有相同部分标识的记录全部检索出来。通配符可以置于检索词首、中间或词尾,分别对应后方一致检索、前后方一致检索和前方一致检索。

与单字通配符“?”类似,任意通配符“%”在检索中文单词或短语时也常用于前后方一致检索,如输入“肝炎%疫苗”可以检索出含有肝炎疫苗、肝炎病毒基因疫苗、肝炎减毒活疫苗、肝炎灭活疫苗等的文献[1]。“%”置于中文检索词的词首或词尾进行检索,使用价值不大。“%”在检索包含英文字母或阿拉伯数字的目标词时,除了置于检索词中间,前置或后置可以扩大检索范围。如输入“CCL%”可以检索出“CCL”后有任意多个英文字母、阿拉伯数字等的结果。

2 SinoMed“包含检索”的功能与缺陷

2.1 “包含检索”的功能

“包含检索”,即直接用目标词的一部分作为检索词进行检索,是SinoMed支持的一种与截词检索类似的检索功能。与截词检索相同的是在检索标识中保留相同的部分,唯一的区别是不使用通配符。

理论上认为,从数据库里检索到一条与检索提问式相匹配的记录即为命中[2],这也是数据库检索最基本的原理。以前的CBM检索中,对不加通配符的“任意字符串”(包括汉字单字或词组、英文单词或缩略语、西文字母加阿拉伯数字的组合形式等)检索都采取了全字段全文本匹配检索技术[4]。

在SinoMed中进行中文字符串检索时,SinoMed默认采用了任意通配符,只要出现中文检索词的文献都会出现在检索结果中。如输入“噬细胞”,可以检索出“噬细胞”、“巨噬细胞”、“吞噬细胞”、“自噬细胞”等检索结果。

当需要检索中文字符串后连接英文字母、阿拉伯数字或特殊符号的目标词时,省略通配符直接用相应的中文字符串进行检索,亦不会造成漏检。如输入“白细胞介素”时,“白细胞介素1”、“白细胞介素IL-1”、“白细胞介素-1”、“白细胞介素(IL)-1”等都会在检索结果中出现(表1)。

表1 中文字符串后省略通配符的检索结果

2.2 “包含检索”的主要缺陷

“包含检索”功能用来检索中文字符串时,能够出色地完成检索要求,但对ASCII字符组成的字符串(英文字符串或由英文字母、阿拉伯数字、特殊符号组成的字符串)进行检索时,经常会出现漏检的情况。

在SinoMed镜像版中,省略通配符仅以英文字符串作为检索词进行检索,会漏检英文字符串后连接数字的目标词[5],但不会漏检英文字符串后连接“-”、“/”、“^”、“)”等特殊符号的目标词。例如,在SinoMed中输入“MDR”,会漏检“MDR1”,但可以检索出“MDR-1”、“MDR-TB”、“MDR-PTB”、“MDR/P-gp”、“MDR/XDRAB”等英文字符串后连接特殊字符的检索结果。网络版SinoMed经过升级,已对这一问题进行了完善。即在省略通配符的情况下,仅以英文字符串作为检索词进行检索,不会漏检英文字符串前或后连接数字的目标词。

目前在SinoMed中,对英文字符串(英文单词、英文缩略语等)进行“包含”检索,仍然会出现漏检情况。若仅以英文字符串的一部分作为检索词,会漏检检索词前或检索词后连接英文字符的目标词,但不会漏检检索词前或检索词后连接特殊符号的目标词(表2)。

表2 英文字符串前或后省略通配符的检索结果

总之,在SinoMed中,检索中文字符串后连接英文字母、阿拉伯数字或特殊符号的目标词时,省略通配符而仅用中文字符串进行检索,均不会造成漏检;检索英文字符串前或后连接特殊符号再连接字母或数字的目标词时,亦不会造成漏检。但对于由英文单词或英文缩略语等组成的英文字符串目标词,直接用英文字符串的一部分作为检索词进行检索时,则会造成漏检。可见,SinoMed系统对英文字符采取了精确匹配的索引技术,省略通配符而直接用目标词的局部进行检索,会造成漏检。但对于“-”等特殊符号,SinoMed系统采取模糊匹配原则,省略通配符而直接用目标词的局部进行检索,不容易造成漏检。

3 SinoMed截词检索功能的缺陷

3.1 任意通配符“%”的检索缺陷

3.1.1 百分数“数字+%+汉字”的检索

CBM中使用“*”作为任意通配符,而SinoMed中用“%”取代“*”作为任意通配符。众所周知,在检索时作为通配符的符号无法直接被检索出,而“%”在医学文献中经常出现,遇到特殊的情况需要检索“数字+%”时,SinoMed系统就可能会存在一定的不足。

例如,笔者在查新中遇到过检索百分数的情况,需要检索“50%有效剂量”。如果直接用“50%有效剂量”进行检索,仅可以检索出1篇包含“50有效剂量”的文献(表3),而并非“50%有效剂量”。

表3 百分数“数字+%+汉字”的检索结果

从表3可见,“%”直接置于阿拉伯数字与汉字之间进行“前后方一致”检索,无法按正常步骤检索出同时包含“%”前后内容的文献。如果在“%”后加一个空格,用“50% 有效剂量”进行检索,系统则会按“50%AND 有效剂量”进行检索。其中的“%”默认为通配符,检索结果为同时包含“50”和“有效剂量”,且二者之间间隔任意个(≥0)字符的文献,包括了“50”后直接连接“%”、“-”、“.”等特殊符号、英文字母、阿拉伯数字或汉字等各种字符的文献。如果在“%”前面加一个空格,用“50%有效剂量”进行检索,系统会按“50 AND %有效剂量”进行检索,可以检索出同时含有“50”和“有效剂量”的文献。如前所述,通配符“%”置于汉字之前与省略通配符的检索结果相同,因此这种检索方法与使用“50有效剂量”的检索结果完全相同。“50有效剂量”与“50% 有效剂量”相比,前者50后面缺少了通配符“%”导致检索结果较少,减少的结果主要是50后面连接小数点、英文字母和数字的文献,但“50 有效剂量”却可以检索出50后面连接其他特殊符号(如“%”、“-”、“)”、“、”“:”等)、空格、希腊字母和汉字等的结果。因此针对“50%有效剂量”的检索要求,用“50有效剂量”检索最为简洁和准确。

以上结果说明,“%”作为通配符无法准确地被系统检索出,这直接导致系统对百分数检索的重大缺陷。“%”可以置于阿拉伯数字之后进行“前方一致”检索,但用于检索百分数时检索结果噪声较大,检索结果包括检索词后连接特殊符号、英文字母、阿拉伯数字以及汉字等各种情况的文献。

3.1.2 “数字+特殊符号+汉字”的检索

由上述百分数的检索结果来看,通配符“%”无法准确检索出数字与汉字之间有百分号的检索结果,那么“%”是否可以检索出数字与汉字之间有特殊符号的检索结果呢?

举例来讲,如果需要检索2型糖尿病的各种表达方式,根据任意通配符“%”的检索功能,理论上可以用“2%糖尿病”进行检索,但使用“2%糖尿病”的检索结果为0,无法检索出“2型糖尿病”、“2-糖尿病”、“2-型糖尿病”等目标词。

检索白介素12时,使用“白介素%12”作为检索词,可以检索出“白介素12”,却无法检索出“白介素-12”等目标词;使用“钴%60”检索钴60的相关文献时,可以检索出“钴60”、“钴DT60”等结果,但无法检索出“钴-60” (表4)。

从以上检索试验可以看出,通配符“%”用于数字和汉字之间,无法检索出数字和汉字之间有特殊符号的目标词,这是通配符“%”存在的一个缺陷。

表4 “数字+特殊符号+汉字”的检索结果

3.1.3 “英文字母+特殊符号+汉字”的检索

由上述3.1.2的检索情况,笔者不禁联想到同属于ASCII字符的英文字母与汉字中间有特殊符号的目标词。当笔者使用通配符“%”检索“英文字母+特殊符号+汉字”或“汉字+特殊符号+英文字母”形式的目标词时,同样出现了漏检情况。例如,当检索K+通道的各种形式(检索试验并未对“钾离子通道”等中文表达方式进行检索)时,用“K%通道”进行检索,可以检索出KAPT通道、KV通道、KCa通道、K通道等结果,却检索不出K+通道和K离子通道(表5)。

表5 “英文字母+特殊符号+汉字”的检索结果

同样,检索“汉字+特殊符号+英文字母”形式的目标词时,将通配符“%”置于检索词中间进行检索,如使用“血管内皮生长因子%A”进行检索时,可以检索出“血管内皮生长因子A”,但却无法检索出"血管内皮生长因子-A"等目标词。

从以上的检索情况可以看出,在Sinomed中,通配符“%”用于英文字母与汉字之间,无法检索出英文字母与汉字之间有特殊符号的目标词,这是通配符“%”检索存在的又一缺陷。

3.1.4 “英文字母+特殊符号+数字”的检索

与上述特殊符号连接数字/英文和汉字形式的目标词的检索结果情况类似,通配符“%”对英文字母与数字之间有特殊符号的目标词也存在漏检情况。

例如,用“Co%60”作为检索词,可检索出“Co+英文字母/阿拉伯数字+60”形式的结果以及“Co60”,却无法检索出Co^60和Co-60这类英文字母和阿拉伯数字中间有特殊符号的目标词。同样的,“60%Co”可检索出“60Co”,却无法检索出60^Co和60-Co(表6)。

表6 “英文字母+特殊符号+汉字”的检索结果

通过以上的检索试验可以看出,英文字母与阿拉伯数字组成的字符串,用通配符“%”进行检索时,不会出现漏检情况;但英文字母与阿拉伯数字之间有特殊符号的目标词,用通配符“%”进行检索,则会出现漏检。

3.1.5 “英文字母+特殊符号+英文字母”的检索

还有一种比较常见的组合是“英文字母+特殊符号+英文字母”的形式,通配符“%”对特殊符号前后连接英文字母的目标词进行检索时,也常会出现漏检。

以“RT%PCR”为例进行检索,可检索出“RT+英文字母+PCR”以及“RTPCR”的结果,但却检索不出“RT-PCR”等英文字母之间有特殊符号的结果,情况与上述ASCII字符之间有特殊符号的检索情况类似。

综上所述,通配符“%”用于同类字符中间进行前后方一致检索,一般不会造成漏检。例如,汉字与汉字之间、英文字母与英文字母之间及英文字母与阿拉伯数字之间。但通配符“%”在检索百分数时具有先天的缺陷,并且用于不同类型字符中间进行前后方一致检索时,会造成漏检,如“数字、特殊符号、汉字”的组合、“英文字母、特殊符号、汉字”的组合、“英文字母、特殊符号、数字”的组合以及“英文字母、特殊符号、英文字母”的组合等。

3.2 单字通配符检索的缺陷

SinoMed数据库中,单字通配符“?”在检索中可替代任意一个字符。但笔者在检索时发现,单字通配符“?”在检索包含特殊符号的目标词时,也常常出现漏检,情况与任意通配符“%”的漏检情况类似。

由此可见,单字通配符“?”通常替代一个同类字符,因此与任意通配符“%”相比,在检索中出现漏检的情况更多,用于检索目标词为英文字母(或数字)、特殊符号和汉字等非同类字符的组合字符串时,均会造成漏检。

4 结语

SinoMed是生物医学领域非常重要的检索工具,其收录资源丰富,检索功能强大。对于专业检索人员而言,截词检索不仅可以简化检索策略式,又可以提高检索效率。SinoMed提供的截词检索功能比较全面,对于常规的检索任务表现出色,但依然存在很多有待完善之处。例如,使用通配符“%”和“?”检索由英文字符(数字)、特殊符号及汉字组成的混合字符串时,经常出现漏检情况,这是SinoMed检索系统亟待完善的重要问题。截词检索并不是万能的,专业检索人员在检索SinoMed时,应根据检索目的和SinoMed的具体功能合理制定检索策略,不可仅根据基本的检索理论一概而论。

猜你喜欢
英文字母字符串阿拉伯数字
基于文本挖掘的语词典研究
阿拉伯数字的用法
找影子
英文字母,你们看上去萌萌哒
一字千进(23)
SQL server 2008中的常见的字符串处理函数
捋顺绳子
阿拉伯数字是阿拉伯人发明的吗
洛斯警长的终极挑战⑤
最简单的排序算法(续)