文章快速检索    
  地震地磁观测与研究  2024, Vol. 45 Issue (5): 183-188  DOI: 10.3969/j.issn.1003-3246.2024.05.025
0

引用本文  

赵霞, 王琛, 池营营, 等. 基于Python编程技术的专家数据库服务模块开发与实现[J]. 地震地磁观测与研究, 2024, 45(5): 183-188. DOI: 10.3969/j.issn.1003-3246.2024.05.025.
ZHAO Xia, WANG Chen, CHI Yingying, et al. Development and implementation of a Python-based expert database service module[J]. Seismological and Geomagnetic Observation and Research, 2024, 45(5): 183-188. DOI: 10.3969/j.issn.1003-3246.2024.05.025.

基金项目

江苏期刊出版研究立项课题(项目编号:2023JSQKB06);江苏科技期刊研究基金项目(项目编号:JSRFSTP2023C14)

作者简介

赵霞(1979—),女,编审,工学博士,主要从事期刊高质量发展及日常管理等工作。E-mail:18935506@qq.com

文章历史

本文收到日期:2024-07-15
基于Python编程技术的专家数据库服务模块开发与实现
赵霞 1)   王琛 1)   池营营 1)   周小潭 1)   徐沁 2)   苏泽云 1)   张艺 1)     
1) 中国南京 210014 江苏省地震局;
2) 中国北京 100045 中国地震台网中心
摘要:为解决专家库管理与维护中工作量大、人工操作繁琐、机械重复劳动且易出错等问题,开发一种基于Python编程技术的专家数据库服务模块,可以实现专家信息自动提取录入、专家成果智能挖掘、自动生成聘书和荣誉证书等功能。实践证明,执行该模块的编程代码后,241份专家申请表成功读取率可达92.95%,生成Excel表单的信息正确率高达100%。该模块的程序设计具有操作简单、可按需修改代码中目标参数的特点,不仅能大大提高编辑的工作效率,后续还可以尝试与出版流程进行整合,以增加模块的适用性与广泛性。
关键词科技期刊    专家库    Python    服务模块    开发    出版流程    
Development and implementation of a Python-based expert database service module
ZHAO Xia 1)   WANG Chen 1)   CHI Yingying 1)   ZHOU Xiaotan 1)   XU Qin 2)   SU Zeyun 1)   ZHANG Yi 1)     
1) Jiangsu Earthquake Agency, Nanjing 210014, China;
2) China Earthquake Networks Center, Beijing 100045, China
Abstract: To address issues such as high workload, tedious manual operations, mechanical repetitive tasks, and error-prone processes in managing and maintaining expert databases, a Python-based expert database service module has been developed. This module enables automatic extraction and input of expert information, intelligent mining of expert achievements, and automatic generation of appointment letters and certificates of honor. Practical application has shown that after executing the programming code of this module, the successful read rate of 241 expert application forms can reach 92.95%, and the information accuracy rate of the generated Excel forms can reach 100%. The program design of this module features simple operation and the ability to modify target parameters in the code as needed. It not only greatly improves the efficiency of editing work but also can be integrated with the publishing process to increase the applicability and versatility of the module.
Key words: science journals    expert database    Python    service module    development    publishing process    
0 引言

数字化背景下,期刊界也面临着巨大的挑战。近年来,基于计算机软件编程技术与传统编辑出版工作相融合的研究与应用正逐渐兴起,尤其Python作为一种基于C语言实现的脚本语言,其内置强大的标准库和第三方模块,对日常工作繁琐又没有额外时间专研代码的传统编辑来说简单易学,操作性强。Python在科技期刊工作中的应用研究主要体现为科技期刊排版校对(周丽等,2017)、编务整合工作(周丽等,2021)、稿件出版流程(牛欣悦等,2022)、数据挖掘与评价分析(谭春林等,2019朱玉强等,2021龙娅丽等,2023)等,而在专家资源的智能管理与维护层面则鲜有提及。专家库的建设对编辑部来说意义重大,目前的主要关注点在于精准遴选专家,途径包括学术搜索引擎、科研人员画像平台、人工智能(黄伟等,2023)、AI技术、大数据分析软件(赵霞等,2019)等。编辑部专家库建设的传统做法是将有增补的专家信息手动录入专家数据库,如遇专家个人信息变更导致稿件无法及时送审或审稿产生偏差(金丽群等,2018)。已有研究利用ScholarOne系统的群发邮件功能提醒专家更新信息(朱岩等,2015),但需要专家登录系统进行更正,而系统会将专家的密码重置,导致操作不便,主要工作仍需要编辑手动完成;也有借助爬虫代码自动提取专家公开信息并批量下载和自动存储(龙娅丽等,2023),前提是必须先批量下载论文,再对论文中标注的专家信息进行提取,但需满足网络协议且需要编辑鉴别信息真伪,难以达到预期的效果。

为解决传统专家库管理与维护中工作量大、人工操作繁琐、机械重复劳动且易出错等问题,本文以《防灾减灾工程学报》(下文简称学报)青年编委遴选和管理工作为例,开发一种基于Python编程技术的专家数据库服务模块,并构建专家库建设与维护的系统框架和流程图,以积极推进专家服务工作的有效整合。

1 基于Python的专家数据库服务模块构建方案 1.1 开发需求

对于同类型的科技期刊来说,优秀的青年专家资源多有交叉和重合,如何吸引和留住人才,让他们和期刊成为一个“共生体”,一荣俱荣,强强联合(赵霞等,2020),除了要为他们搭建高端平台、制定奖励机制、提供快速专享工作通道、升级服务内容外,订制个性化服务也很重要。但是编辑日常工作中,不管是维护数据库还是为专家提供服务,都是一些批量的、费时费力的工作,且手动操作容易出现错误,还要耗费大量的时间去核对信息。为此以学报青年编委遴选和管理工作为分析案例,基于Python丰富的集成开发工具和第三方扩展库自行搭建和开发出专家数据库服务模块,可以解决专家库管理与维护中工作量大、人工操作繁琐、机械重复劳动且易出错等问题,并大幅提高编辑的工作效率,同时该模块具有按需修改代码中目标参数的特点,可以尝试与出版流程进行整合,以增加模块的适用性与广泛性。

1.2 模块生成与设计

本研究开发思路主要基于2个方面:①输入端模块。第一步进行专家信息的智能挖掘和筛选。利用Python的爬虫技术,基于国内外期刊数据库,对学报有意向吸纳为青年编委的专家不同时间段发表论文的情况进行抓取,与其个人简历中的主要成果进行核对,剔除不符合期刊要求或提供虚假信息的专家;第二步提取关键信息。对遴选出的专家个人申请表进行智能识别、读取编辑部需要的专家信息,并录入到自动生成的Excel表单;第三步自动更新专家信息。每隔半年对专家进行回访,制作邮件模板,提醒专家在邮件对应位置更新个人信息,反馈后自动识别、替换或覆盖原有数据库信息。②输出端模块。主要包括定期自动生成审稿费和稿酬发放表,自动生成聘书和荣誉证书,生日自动提醒及发送祝福邮件等功能,方便编辑处理汇款和为专家提供个性化增值服务,并可对接到其他的编辑出版流程。

专家库服务模块的系统框架和流程构建见图 1

图 1 基于Python的专家数据库服务模块系统框架 Fig.1 Python-based expert database service module system framework
2 工作实践

学报于2023年2月底发布首届青年编委招募信息,共收到241份申请表,编辑部制作了word格式的专家信息表单,并要求专家提供签名以保证个人信息和取得成果的真实性。需要在短时间内完成两项重要工作:分专业审核和录入专家信息。下面结合工作实践介绍Python编制程序的具体操作和功能实现。

2.1 专家信息智能挖掘

编辑部对意向收录的青年编委进行成果审核是非常必要的。Python Import模块可以调用Selenium程序包,Selenium是一个基于浏览器的web自动化工具,可以模拟真实用户在Internet Explorer、Chrome和Firefox中运行。编制程序时,通过修改配置文件中的id来切换中国知网、WOS等不同的国内外数据库检索平台,找到登录页面,输入账户名和密码,再设定不同的检索方式,输入作者、单位等关键信息,便可自动搜索出专家发表论文的题名、作者、文献来源、出版年份、被引频次等重要信息,并以Excel表的形式输出。这其中所有的页面“登录”和“检索”按键,都是Selenium模拟真人点击操作的,完全实现了机器自动获取。图 2所示为学报青年编委申请人一陈姓专家近年来在中国知网发表论文的检索结果,经核查与其提供的申请表中主要成果基本符合。

图 2 专家在中国知网发表论文的代码运行结果 Fig.2 Code execution results of experts publishing papers on CNKI
2.2 专家信息自动识别录入

专家反馈的表单有.doc、.docx、.pdf、.jpg等不同格式,编辑手动录入工作量大,且如何准确提取出扫描件或图片中的文字信息是关键。利用Python Import模块调用pdfplumber第三方代码编写程序,可自动识别表单文件中的“姓名、性别、出生年月、学历、职务/职称、Email、联系电话、QQ/微信、身份证号、任职单位、研究领域”等关键信息,并生成Excel表格。具体操作时先执行一个convert命令,将word文档和扫描件转换成pdf格式,如无法转换成pdf或运行失败,则执行move命令,把文件转移到专门的文件夹中保存;转换后再执行read命令,便可以将需要的信息提取录入到表格。不同执行命令的部分核心代码及运行、生成结果见图 3。可以看出,除有17份因扫描件模糊出现报错需要手动输入外,其余224份申请表的关键信息在短短几分钟就自动录入表格,成功率可达92.95%。录入信息经编辑核实,除Email表头和抓取到的信息不在一列里显示外,没有发现文字、数字、格式等有错误,成功率达100%。

图 3 不同执行命令的部分核心代码及运行、生成结果 Fig.3 Some of the core code of different execution commands and the results of running and generating

后期在专家库维护过程中,针对不同的投审稿系统、不同的编辑人员在录入专家信息时存在的信息不全、格式不规范等问题,也可以利用Python做到每半年定期回访一次,自动编辑邮件模板,自动对比、纠错、更新或覆盖原有专家信息,从而减轻编辑工作量。

2.3 专家个性化增值服务

编辑部在日常工作中应重视与专家或编委的互动以增加“黏性”(徐婷婷,2023)。特别是工作中的一些小细节,比如每年在官网和公众号上发布年度优秀审稿专家和优秀编委,并特制感谢信和荣誉证书,肯定他们对期刊的贡献与付出,让他们有成就感和获得感;在传统节日或专家生日时通过微信好友或专家群送上祝福和问候,让他们对期刊产生家一般的归属感(李笑梅,2019)。

青年编委遴选结束并公布名单后,编辑部需要对入选的61位专家发放聘书。传统的做法是编辑做好模板,再将专家姓名手动敲入文档并保存。利用Python Import模块调用Document第三方代码编写程序,具体操作时先执行一个convert命令,自动读取word版本的聘书模板里专家姓名所在位置,然后自动添加不同专家姓名并以***专家.pdf为文件名生成pdf电子聘书。另外,编辑部于元旦前夕在稿定网上专门为优秀专家制作了荣誉证书,因该网不支持pdf格式的图片下载,故将荣誉证书转存为可以编辑文字的ppt格式,并使用Python的comtypes.client批处理文件修改了程序,实现了.ppt向.pdf的格式转换。编写的两个核心代码和部分生成结果见图 4。实践证明,2个代码可以保存并重复使用,满足大多数编辑部的工作需求,缓解了编辑在服务专家过程中人工操作繁琐、大量重复机械劳动且易出错等问题。

图 4 生成聘书和荣誉证书的部分核心代码展示 Fig.4 Part of the core code display for generating appointment letters and certificates of honor

其他功能如生日自动提醒并发送祝福也不难做到。只需在运行代码时自动读取专家信息表中的“身份证号”第7—14位,并与电脑当日日期进行匹配,匹配成功则设置系统铃声提醒,编辑接收到提醒信号后即可当天发出祝福。

3 专家数据库服务模块与编辑出版流程整合的设想

通过以上实践探索可知,基于Python的专家数据库服务模块构建与应用是切实可行的。编写完的代码可以保存并重复使用,只需根据编辑部实际工作需要将代码中的相关目标参数加以改进或替换,可以考虑嵌入编辑出版流程的新模块。比如在出版发行环节,在代码中加入“文章稿号、姓名、银行卡号、开户行、详细地址”等汇款信息,就可以自动生成每一期的稿酬和审稿费发放表,不需要编辑再手动复制粘贴。在稿件处理及选题策划环节,只要遵循网络协议(Robots协议),编辑部可以做到:①从互联网中挖掘更多专家的信息,深入了解专家的研究动态,为编辑部精准、高效地送审、约稿、推送论文等提供技术支撑;②同一篇稿件的多次处理环节中,无需编辑反复登录查看和操作,只需运行程序,让鼠标自动登录在线采编系统,通过控制不同的窗口自动发送邮件、下载论文等,避免了编辑在稿件审理流程中混淆不同退修时间的论文而导致的送审失误。

4 结束语

本文开发的基于Python编程技术的专家数据库服务模块具有操作简单、可按需修改代码中目标参数的特点,可以实现专家信息自动识别读取、专家成果智能挖掘、自动生成聘书和荣誉证书、生日自动提醒及发送祝福等功能。实践证明,241份专家申请表成功读取率可达92.95%,生成Excel表单的信息正确率高达100%。该模块生成的代码可重复使用,满足大多数编辑部的日常工作需要,摆脱了编辑长期以来依赖于高度重复且易出错的“复制粘贴”的陋习,提高了编辑的工作效率。

本文开发模块也存在一定的局限性,如编程后台如何更智能地识别图片还需进一步测试,面向期刊大体量的专家信息维护工作是否能达到如期效果还有待检验,专家模块与编辑出版流程的集约化功能尚有待开发,后期还需进一步扩充样本量、扩大适用面、完成程序升级和系统封装,以期服务于编辑、作者、专家、读者等更多人群,推广到更多期刊编辑部的工作中。

参考文献
黄伟, 孙伟, 蒋霞. "互联网+"时代下同行评议期刊精准寻找审稿专家的途径与实践[J]. 编辑学报, 2023, 35(1): 60-65.
金丽群, 张蕾. 同行评审专家库动态管理及有效方法探讨[J]. 编辑学报, 2018, 30(3): 288-291.
李笑梅. 学术期刊优秀审稿专家的发掘、培养与管理维护[J]. 传播与版权, 2019(12): 25-26.
龙娅丽, 汪全伟, 林海妹, 等. 科技期刊编辑出版中Python编程技术应用探索[J]. 中国传媒科技, 2023(5): 147-150.
牛欣悦, 祁丽娟, 方梅. 基于Python的科技期刊二维码生成/插入/校验一体化解决方案[J]. 中国科技期刊研究, 2022, 33(8): 1 057-1 064.
谭春林, 刘清海. 期刊编辑发表论文情况的文本挖掘与分析[J]. 编辑学报, 2019, 31(4): 407-410.
徐婷婷. 科技期刊审稿专家库建设和维护实践研究以《环境污染与防治》为例[J]. 出版与印刷, 2023(2): 69-74.
赵霞, 安珍, 刘晓艳, 等. 基于CiteSpace的审稿环节可视化方法研究[J]. 中国科技期刊研究, 2019, 30(7): 728-733.
赵霞, 周小潭, 池营营. 科技期刊青年编委的遴选和启示[J]. 华南地震, 2020, 40(2): 125-130.
周丽, 曾蕴林, 王东. 期刊编辑中微程序运用探讨[J]. 天津科技, 2017, 44(3): 92-96.
周丽, 张耀元, 曾蕴林, 等. 基于Python编程实现编务工作整合的实践与思考[J]. 中国科技期刊研究, 2021, 32(3): 403-410.
朱玉强, 范翠丽. 中文期刊论文数据治理工作实践——以挖掘中国知网题录及PDF文档为例[J]. 西安文理学院学报(自然科学版), 2021, 24(4): 114-122.
朱岩, 陈培颖, 欧彦, 等. 外审专家信息的更新与维护[J]. 中国科技期刊研究, 2015, 26(9): 951-955.