APP下载

基于Unity3D的自引查找工具设计与实现

2022-11-30顾笑迎

图书馆研究与工作 2022年12期
关键词:区分检索人工

顾笑迎 吴 瑨 李 硕

(华东师范大学图书馆 上海 200062)

“查收查引”是高校图书馆信息服务的重要内容,属于图书馆传统核心业务之一——参考咨询的工作范畴,是参考咨询事业发展到一定水平的产物,其服务水平的高低被认为是衡量现代图书馆整体业务质量的重要标准。目前,高校的人才引进、职称评定、各类人才工程、科研项目申报等,都需要图书馆对其原始学术论文提供收录引用等查询证明,以此作为学校相关决策的数据支撑[1]。

1 研究现状

随着越来越多管理机构对查收查引检索结果的认可,查收查引业务的需求不断增长。国家图书馆科技查新中心接收的查收查引业务咨询量从2013年的2 716单增长到2019年的4 749单;浙江大学图书馆2016—2018年接受的查收查引业务委托达23 826人次[2]。由于作者提供的原始信息不准确、引用者标注的引用格式不规范、数据库误标误引、作者重名等原因,查收查引工作往往需要耗费检索人员大量的时间,且导致该项工作的自动化较难以实现[3]。一般认为自引易受作者或期刊编辑的主观情感影响,较他引的含金量低[4]。因此,在做查收查引工作中,委托者通常会要求区分自引和他引。由于外文数据库姓名著录方式较为典型的规则是姓全拼,名仅保留首字母,这导致了大量不同中国作者的拼写是一致的,如Wang W可以是王伟、汪巍、王唯等,而系统是无法自动识别和判定的[5]。且一篇被引文献往往有很多作者,尤其是理工科的论文,有时作者能达到上百个甚至更多,要将这些数量繁多的原作者从施引文献中区分出来需要检索者花费大量的时间。因此自引他引的区分成为了查收查引工作中的瓶颈问题。

为了解决查收查引工作中大量机械重复的工作,提高工作效率,研究人员们做出了许多努力。通过文献调研发现,我国查收查引工作的研究探索主要可分为两个方向,一是开发整体系统,二是针对某个工作步骤,如区分自引他引、自动生成报告等,或利用已有软件或编写程序开发软件工具来提高工作效率。

袁浩等人[2]对我国查收查引系统进行了调研,发现有十余家图书馆自行开发了查收查引系统,但大部分仅用于自己的图书馆,其中中国科学院系统、CALIS(China Academic Library & Information System)系统、北京邮电大学系统(株洲田心系统)、知先系统、宝和系统这五家查收查引系统通过商业渠道取得了相对较为广泛的应用。但整体系统的开发耗时耗力,并非易事,且系统也仅能实现查收查引过程的半自动化,部分环节依然需要人工干预,再加上购买商业系统还要受到经费预算等的限制,查收查引系统并未得到十分广泛的普及。朱慧等人[5]对教育部认证的102家查新站的查收查引服务进行了调研,获取了其中49家的系统使用情况:15家未引进系统,34家引进系统。

没有查收查引系统加持的查新机构,在查收查引工作的开展上也充分发挥自身特长进行了多方位的探索。一部分充分利用已有的软件,如利用Excel、Endnote、NoteExpress等提高自引和他引的区分效率[6-8],利用Word宏快捷生成检索报告中的表格[9],利用水晶报表软件自动生成检索报告[10],等等。还有一部分通过编写程序开发软件来提高查收查引的工作效率,如利用python语言编写程序,通过Web of Science(以下简称WOS)的API接口直接获取数据并区分自引他引[11-13];利用Java编写相应程序,实现自引他引的区分并生成相应统计表或报告[14-16];结合作者姓名、单位和作者识别号编写程序进行自引他引的区分[17-18];通过嵌套自动检索系统的微信小程序实现快速委托与收录检索的功能[19],等等。

上述研究成果或仍无法避免前期或后期的处理工作,或未能解决自引他引的区分这个查收查引工作的瓶颈问题,或尝试解决但依然存在需改进的地方。笔者基于Unity3D开发了一款高效的自引他引区分软件,解决查收查引工作中的瓶颈问题,过程的实现不受浏览器版本、模式,以及数据库更新的影响,也不受WOS付费API接口的限制,可一劳永逸长期使用。

2 开发工具介绍

Unity3D是由Unity Technologies研发的可跨平台的开发引擎,可延伸于基于WebGL技术的HTML5网页平台,以及tvOS、Oculus Rift、ARKit等新一代多媒体平台。编辑语言支持C#或JavaScript,对开发者要求低,通过开源代码可方便地生成相关软件工具。除可以用于研发电子游戏之外,Unity3D还广泛用作建筑可视化、实时三维动画等类型互动内容的综合型创作工具。

Unity3D最初于2005年在苹果公司的全球开发者大会上对外公布并开放使用,当时只是一款面向Mac OS X平台的游戏引擎。时至2018年,该引擎所支持的研发平台已经达到27个[20],这些平台包括Windows、Mac OS、iOS、安卓、索尼PS4、任天堂Switch、微软Xbox One、谷歌Stadia、微软Hololens、谷歌AR Core、苹果AR Kit、商汤SenseAR等。Unity分为免费的个人版,付费的进阶版、专业版以及面向大型用户的企业版。

Unity3D的开发环境为层级式,编辑器视觉化,页面预览动态化。可开发微软Microsoft Windows和Mac OS X的可执行文件、在线内容(通过Unity Web Player插件支持Internet Explorer、Firefox、Safari、Mozilla、Netscape、Opera和Camino)、Mac OS X的Dashboard工具、Wii程序和iPhone应用程序。

近年来,Unity为中国用户量身打造产品和服务。2019年Unity中国版编辑器正式推出,其中加入专为中国Unity研发的Unity优化-云端性能检测和优化工具。此外,Unity还为各种规模的游戏开发团队提供技术支持服务,通过线上问答、项目分析、现场培训等形式为中国开发者解决各种难题。

3 软件设计思路

从实际收到的查收查引委托来看,涉及最多的检索数据源为WOS平台上的Science Citation Index Expanded(SCI-EXPANDED)、Social Sciences Citation Index(SSCI)、Arts & Humanities Citation Index(A&HCI)等数据库,该平台也是业界公认的权威检索数据源之一。笔者利用Unity3D工具设计一款WOS引文数据的自引查找工具。软件的设计思路是将被引文献的作者列与施引文献的作者列进行对比,筛选出相同的用括号括起并标记为不同的颜色,也即为自引的记录;同时还要限定比对的范围为某篇被引文献之后,下一篇被引文献之前,PT列标J(期刊)、B(书籍)、S(丛书)、P(专利)的该被引文献的施引文献。算法程序控制流图如图1所示。

图1 算法程序控制流图

核心代码如下:

public IEnumerator handle(){

string colorname = "";

GameObject[]colorlist = GameObject.FindGameObjectsWithTag ("toggle");

for (var i = 0; i < colorlist.Length; i++) {

Toggle new1 = colorlist [i].GetComponent ();

if (new1.isOn == true) {

colorname = colorlist [i].name;

}

}

xuhao_column = getNumByString(xuhao.text);

name_column = getNumByString(xname.text);

filePath = file.text;

FileInfo newFile = new FileInfo(filePath);

using (ExcelPackage package = new ExcelPackage(newFile))

{

//showtips.text = filePath+ sheet.text;

ExcelWorksheet worksheet = package.Workbook.Worksheets[sheet.text];

for (int i = 1; i <= 8000; i++) {

var temp1 = worksheet.Cells[i, xuhao_column].Value;

string strtemp1 = Convert.ToString (temp1);

if (strtemp1.CompareTo("J")== 0 || strtemp1.CompareTo("S")==0 || strtemp1.CompareTo("B")==0 || strtemp1.CompareTo("P")==0) {

var temp2= worksheet.Cells[i - 1, xuhao_column].Value;

string strtemp2 = Convert.ToString(temp2);

//设置第一次碰到J值时候,确定的名字列的行号

if (strtemp2.CompareTo("J") !=0 && strtemp2.CompareTo("S")!=0 && strtemp2.CompareTo("B")!=0 && strtemp2.CompareTo("P")!=0) {lastnameno = i - 1;

}

zu izh on g =biaoshiName(Convert.ToString(worksheet.Cells[i,name_column].Value), Convert.ToString(worksheet.Cells[lastnameno,name_column].Value));

showtips.text = "处理第" +Convert.ToString(i+1) + "行数据";

yield return new WaitForEndOfFrame();

if (zuizhong[1].CompareTo("1")== 0) {

//有名字替换成功

worksheet.Cells[i,name_column].Value = zuizhong[0];

if (colorname.CompareTo("Red") == 0) {

worksheet.Cells[i, name_column].Style.Font.Color.SetColor(System.Drawing.Color.Red);

}else if(colorname.CompareTo("Green") == 0){

worksheet.Cells[i, name_column].Style.Font.Color.SetColor(System.Drawing.Color.Green);

}else if(colorname.CompareTo("Blue") == 0){

worksheet.Cells[i, name_column].Style.Font.Color.SetColor(System.Drawing.Color.Blue);

}

}

}else{

lastnameno = 0;

}

}

package.Save();

}

showtips.text = "处理完成";

}

4 软件运行前的准备工作

从WOS平台导出被引文献记录,导出格式选择制表符分隔文件,导出内容选择完整记录,将所得txt文件复制粘贴到Excel文件中。在A列标上序号。检索各被引文献的相应施引文献,以同样的方式导出,通过插入,放在该被引文献的下方,如图2所示。A列为被引文献的序号和施引文献的文献标识,B列为作者名字缩写,F列为作者名字全拼。

图2 文件准备示例

5 软件操作

软件运行界面如图3所示,输入文件路径、sheet页名称、序号列A、名字列B(或F),选择标注的颜色,点击开始即可。

图3 自引查找工具界面

实际操作中,由于B列是作者姓名的缩写,会出现大量假阳性的对比结果,而F列作者全拼列则又会由于全拼的表达方式不同(如何积丰可能被表达为he jifeng、he ji-feng、he, jifeng等)而漏掉一些真阳性的对比结果。因此可以将B列和F列分别进行比对,如F列显示为自引,则确定该记录为自引。如仅有B列显示自引,但F列不显示,则将这部分记录通过作者姓名全拼、单位等进行复核。实践显示,绝大部分的自引都能通过软件自行判断,仅有少量文献需要进行人工复核,且由于B列已经将有可能是自引的作者用括号进行了标识,因此即使是人工复核,也不会花很多时间。

用软件判断过后的页面显示如图4所示,B列、F列自引的记录根据选择标识了不同颜色,并对具体的自引作者进行了括号标记。

图4 自引查找工具运行后Excel界面

6 结果对比

对10篇被引文献共87篇施引文献使用自引查找工具和人工Excel筛选查找两种方式进行自引他引的区分,结果如表1所示。两种方式F列均查找到30条真阳性记录,使用自引查找工具在B列共查找到35条记录,使用人工方式在B列共查找到38条记录。使用自引查找工具在标记自引记录时共耗时5秒,而人工方式则耗时960秒,使用自引查找工具在自引标记上提高了191倍的效率。

表1 工具与人工区分自引和他引对比验证结果表

可以发现,B列使用人工方式比使用自引查找工具的方式多3条记录。经比较发现是由于诸如Zhu, H、Wang, X在筛选查找的方式下会标记出诸如Zhu, HB、Wang, XB等错误记录。可见通过自引查找工具可降低B列假阳性出现的概率,减少后续人工复核的工作量。

在对B列进行自引标记时,使用自引查找工具不仅减少了假阳性的出现,而且由于把自引作者用括号进行了标记,能极大地提高人工复核的效率。使用自引查找工具后对5条假阳性记录进行人工复核共耗时40秒,人工方式对8条假阳性进行人工复核共耗时210秒。如文献作者较多,将耗费更多的时间。因此使用软件在假阳性复核上能提高至少4—5倍的工作效率。

在总耗时上,使用自引查找工具对10篇被引文献共87篇施引文献进行自引标记总耗时45秒,而使用人工Excel筛选查找方式总耗时1 170秒。使用自引查找工具相较人工方式可提高至少25倍工作效率。

7 小结与讨论

查收查引工作由于客观原因,完全实现自动化较为困难,但在实际操作过程中有大量重复工作,基于Unity3D开发的自引查找工具能在自引和他引的区分这项耗时耗力的工作中发挥极大的作用,能提高至少25倍工作效率,是一项可在其他图书馆复制采用的微技术革新。

今后还可考虑通过作者姓名结合单位以及作者识别号的比对来进行自引的自动查找,减少需要人工复核的记录,进一步提高自动化程度并提高准确率。但由于单位的表达存在差异、一个作者可能涉及多个单位、作者识别号的使用还不够广泛等原因,这项工作的开展还需要更多的探索。另外,还可考虑进一步提高工具的适用性,如将中文的CSCD(Chinese Science Citation Database)、CSSCI(Chinese Social Sciences Citation Index)等纳入适用范围,全面提高图书馆查收查引的工作效率。

猜你喜欢

区分检索人工
灵活区分 正确化简
人工3D脊髓能帮助瘫痪者重新行走?
人工,天然,合成
人工“美颜”
瑞典专利数据库的检索技巧
一种基于Python的音乐检索方法的研究
怎么区分天空中的“彩虹”
区分“我”和“找”
浅议专利检索质量的提升
新型多孔钽人工种植牙