摘要:随着“人工智能”技术的蓬勃发展,“智慧社会”建设正快速推进。作为公共服务的重要组成成分,图书馆智慧化已成为必然选择。该研究以智慧图书馆建设为切入点,基于Python和Gephi,探索文献资源管理过程中实现数据自动化预处理、分析及可视化的方案,进而提高文献资源的利用率。在纸质文献资源方面,实现了架标的批量更新和重设计;在电子文献资源方面,实现了对大数据的自动化预处理及基于社会网络分析的数据可视化。在提升工作效率的同时,提高信息准确性和数据利用率,未来可进一步拓展到报告自动化生成及专利数据挖掘等领域。
关键词:Python""数据自动化处理""社会网络分析""可视化""智慧图书馆
Research"on"Data"Automatic"Analysis"and"Visualization"Based"on"Python"and"Gephi
—Taking"the"Construction"of"Smart"Library"as"an"Example
YE"Zengyu
Library"of"South"China"Normal"University,"Guangzhou,"Guangdong"Province,"510631"China
Abstract:"With"the"vigorous"development"of"artificial"intelligence(AI)"technology,"the"construction"of"the"\"smart"society\""is"rapidlynbsp;advancing."As"an"important"component"of"public"services,""the"intelligentization"of"libraries"has"become"an"inevitable"choice."Taking"the"construction"of"smart"library"as"the"starting"point,"this"article"explores"the"solutions"for"automated"data"pre-processing,"analysis,"and"visualization"based"on"Python"and"Gephi"in"document"resource"management,"and"further"improves"their"utilization"rate."In"terms"of"paper"literature"resources,batch"updates"and"redesigns"of"shelf"labels"have"been"achieved;"In"terms"of"electronic"literature"resources,"data"automatic"pre-processing"and"visualization"based"on"social"network"analysis"have"been"achieved."It"not"only"improves"work"efficiency,"but"also"enhances"information"accuracy"and"data"utilization."In"the"future,"it"can"be"further"expanded"to"fields"such"as"automated"report"generation"and"patent"data"mining.
Key"Words:"Python;"Data"automatic"processing;"Social"network"analysis;"Visualization;"Smart"library
中国共产党第二十次全国代表大会提出,要充分运用现代信息技术,加快优化智慧社区建设,打造高质量的新型智慧社区治理模式。图书馆作为公共服务的重要组成成分,其智慧化已成为必然选择,这对数据处理、分析挖掘及应用的质量、效率提出了更高的要求。
为了建设智慧图书馆,需要要推动馆员、读者、服务[1]、资源[2]、技术[1-2]与数据的有机统一。首先,以数据为基础,建设标准规范体系;其次,立足大数据和“互联网+”发展态势,引进物联网、数据挖掘、人工智能、区块链[3]等新兴技术,提升文献等资源的利用率;再次,培养馆员的数据素养[4],包括发现、获取、筛选、分析、组织、解读和共享数据的意识;最后,实现管理和服务的智慧化、个性化[5],做到面向读者需求,提升用户体验[3]。数据挖掘是指分析大型信息库或信息流和发现潜在有用的知识的过程[6]。“图书馆数据挖掘”又称“书目挖掘”[7],是数据仓库、数据挖掘、文献计量学的组合[8]。
该研究针对大数据背景下智慧图书馆建设中文献资源管理遇到的实际问题,基于Python语言和Gephi社会网络分析软件,实现对大量数据的自动化处理、分析及可视化,优化管理过程,提高文献资源利用率,提升数据处理的效率、准确性,保证数据处理分析过程的可追溯性。
1"智慧图书馆文献资源管理所遇挑战
本文从数据角度出发,分析图书馆智慧化过程中文献资源管理领域所面临的挑战。图书馆文献资源主要可分为纸质资源和电子资源。
对于射频识别技术(Radio"Frequency"Identification,RFID)未完全普及的图书馆,数据处理工作仍高度依赖人力,数据处理效率与信息正确率会受到多方面因素影响。如何规范架标样式,准确高效地实施数据更新,进而提高找书效率,是纸质文献资源管理的一大挑战。
尽管图书馆数字化建设高速推进,但许多商用学术文献数据库存在收费价格不合理、寡头垄断倾向等问题[9]。如何深入挖掘电子资源的使用情况,通过可视化手段展示以推广,并优化图书馆电子资源采购方案,是当今图书馆界亟待解决的问题。
基本科学指标数据库(Essential"Science"Indicators,ESI)"和科技引文数据库(Web"of"Science,WOS)被广泛用于衡量科学研究绩效。为了探索全文电子资源的使用情况,该研究对论文的引文进行深入挖掘。以“华南师范大学”为例(下称:目标院校),其在2018—2022年的ESI论文数据超过1nbsp;900"000行,这对数据分析工具提出了更高的要求。
2"相关技术与理论介绍
(1)pandas库。pandas是Python读取、保存、设置数据结构类型的重要模块[10]",可以实现对数据集的灵活重塑和旋转,基于智能标签对大数据集实施切片和索引等"[11]。
(2)glob库。glob常用于路径匹配,通过使用“*”“**”“?”等通配符,可以查找符合特定规则命名的文件。
(3)win32com库。win32com是Python在Windows操作系统中实现组件对象模型(Component"Object"Model,COM)"编程的模块,常用于Microsoft"Office等程序的自动化数据处理。
Gephi是免费开源的图形和网络可视化和探索软件,可以帮助数据分析师和科学家做出假设,直观地发现特征。其可以用于社会网络分析,创建社交数据连接,以绘制社区组织和小世界网络[12]。
《中国图书馆分类法》(简称《中图法》)是当今国内图书馆使用最广泛的分类法体系,其采用字母与阿拉伯数字相结合的混合号码,即用一个字母代表一个大类,共计22个基本大类,包括马克思主义、列宁主义、毛泽东思想、邓小平理论,以及哲学、社会科学、自然科学、综合性图书五大基本部类。简表、详表则使用数字和小数制对大类进行细分[13]。
WOS核心合集是由科睿唯安(Clarivate"Analytics)开发和维护的学术文献数据库,其涵盖了全球范围内各个学科领域的高质量学术期刊、会议论文和专利等资源。其常用字段标识如下所示:PT—出版物类型、AU—作者简称、AF—作者全名、TI—文献标题、C1—作者地址、RP—通讯作者地址、CR—被引参考文献、UT—文章唯一标识符[14]。图1为部分常用字段示例,引文数据分析针对CR字段展开。
3"架标自动化更新及成效
基于Python的pandas、glob和win32com等库,对《中图法》详表信息进行预处理后,将待更新架标的分类号与其分类相匹配,最后根据字符数等生成对应的架标并合并。
由于《中图法》分多层级,依次为部类、大类、小类、子小类,单级目录往往无法直接呈现书籍的所有分类信息。因此,首先需要对《中图法》的分类相关信息进行预处理,即将下级分类与上级分类进行组合,其核心代码如下:
code_list,type_list"="dat_sup['code'].to_list(),dat_sup['type'].to_list()"#"获取分类号和分类列表
dict_sup"="{}"#"创建分类号(键)—分类(值)字典
for"row_i,code0"in"enumerate(code_list):"#"遍历《中图法》分类号
dict_sup[code0]"="type_list[row_i]"#"存入字典
for"ind"in"range(1,len(code0)):"#"遍历查看是否存在上级分类
if"code0[:-ind]"in"dict_sup:"#"采用递归法将上级分类及本级分类存入字典
dict_sup[code0]"="dict_sup[code0[:-ind]]+':\n'+type_list[row_i]
break
各架标均包含第一本和最后一本书的分类号和分类信息。首先,统计待更新架标的分类号,以Excel格式存储,首尾书籍信息各成一列,一一对应;其次,使用pandas库、字典或index函数等依次将分类号(如“K0”)与《中图法》进行匹配,获得其分类(如“历史、地理:\n史学理论”)。
通过修改模板,可以实现对架标排版设计的批量调整。针对文本长度不同的架标信息,制作字号不同的架标模板,依次插入书签label1_1、label1_2、label2_1和label2_2,分别对应第一本书的分类号、分类,以及最后一本书的分类号、分类,并存储为“.dotx”的格式。使用win32com.client的Dispatch等函数将信息插入Word模板中,并另存到新文件夹(zpath1)中。以第一本书和“架标模板1.dotx”为例,其核心代码如下:
for"row_i,code1"in"enumerate(dat_shelf['first_code']):"#"遍历第一本书分类号
type1"="first_type_list[row_i]"#"获取第一本书分类
app"="Dispatch('Word.Application')"#"提取app
#"读取Word模板,将信息输入指定书签(如“label1_1”)
doc"="app.Documents.Add(zpath+"'架标模板1.dotx')
doc.Bookmarks('label1_1').Range.Text"="code1
doc.SaveAs(zpath1+output_fname+str(row_i)+'.docx')"#"将Word另存为新的文件
app.Documents.Close()
使用glob获取文件夹内的所有文件,并基于win32com.client的gencache函数合并,以便于打印。核心代码如下:
word"="gencache.EnsureDispatch('Word.Application')"#打开word软件
word.Visible"="False"#非可视化运行
output"="word.Documents.Add()"#新建用于存储合并结果的空白文档
output.PageSetup.Orientation"="1
output.PageSetup.TopMargin"="1.27*28.35"#"根据所需分别设置上下左右页边距,以上为例
for"file"in"glob.glob(zpath1+'\*'):"#"遍历文件夹内的文件并合并
output.Application.Selection.Range.InsertFile(file)
output.SaveAs(zpath2+output_fname+'.docx')"#"保存文件
output.Close()
4"WOS引文数据分析及可视化
使用Python的pandas和glob库读取WOS原始数据,并实施预处理;使用Gephi等软件深入挖掘目标院校外文电子资源的使用情况。
以“.txt”格式存储的WOS论文数据存在以下规律:(1)字段标识均为2个字符,出现在行首,且每篇论文的首个字段标识均为PT;(2)除字段标识外的数据(下称“”)以外,从每行的第四个字符开始出现;(3)除部分异常数据以外,论文的引文来源刊均存储在CR字段以“,"”分割所成列表的第三个字符串内。
依次读取目标路径(fpath)内的所有txt文件,遍历数据并分割,以获取字段标识和目标数据、跳过无关数据(VR)、识别论文首行数据(PT),并创建论文字典,将目标数据及引文来源刊数据(CR_J)以列表形式存入字典,最后整理并输出为Excel。核心代码如下:
wos_ind,dat_dict"="1,{}"#"初始化论文序号并创建字典
for"file"in"glob.glob(fpath+'\*.txt'):"#"依次读取txt文件
dat"="pd.read_csv(file,skip_blank_lines=True,keep_default_na=False,sep='\t',engine='python')
for"row_i,info"in"enumerate(dat['FN"Clarivate"Analytics"Web"of"Science']):"#"遍历数据
col_info,dat_info"="str(info)[:2],str(info)[3:]"#"获取字段标识/开头字符及目标数据
if"col_info"=="'PT':"#"如为首行数据,则创建对应论文字典
info_num"="'info_'+str(wos_ind)
dat_dict[info_num]"="defaultdict(list)
wos_ind"+="1
if"col_info"!="'""':"#"如为字段标识,则给键赋值
col_key"="col_info
dat_dict[info_num][col_key].append(dat_info)"#"将目标数据以列表形式存储
if"col_key"=="'CR':"#"如为“被引参考文献”字段
try:"#"如第3项为引文来源刊,存入字典
dat_dict[info_num]['CR_J'].append(dat_info.split(',"')[2])
except:"#"否则存储原始数据
dat_dict[info_num]['CR_J'].append(dat_info)
对目标院校引用频次TOP"50的引文来源刊进行分析,统计全文外文电子资源对其的覆盖率。已购电子资源覆盖率达到80%,其中,Science"Direct(简称:SD)覆盖率最高,超过25%;ACS和ProQuest-BSC次之,且均维持在10%以上。
由于部分引文来源刊被多个数据库覆盖,该研究使用Gephi对电子资源实施共现网络分析,结果如图2所示(仅展示频率不低于50的边及其相关节点)。已购数据库中覆盖刊物数最多的仍为SD;与OA电子资源的共现频次较多的依次为ProQuest-BSC、EBSCO-ASP和ProQuest-PRL。
5"结论
在“人工智能”时代,数据量迅速增加,各领域均需提高数据素养,提升数据处理、挖掘和利用能力。对于纸质文献资源,该研究基于Python实现架标的自动化更新,通过修改模板,可以批量调整架标设计,从而提高信息时效性、数据准确性和工作效率,便于读者找书,促进资源流通。未来,该方法可拓展到专利数据挖掘和报告自动化生成等领域。
对于电子文献资源,该研究使用Python和Gephi深入分析ESI论文大数据,基于引文来源刊,挖掘目标院校对外文电子资源的使用情况。对于使用频率较高的数据库,可以开设教学课程;对于使用频率较低的数据库,可以根据特色针对性地对相关群体开展推广工作,以提高电子资源利用率。同时,该方法可以为未来电子资源采购提供参考。
参考文献
[1]"CAO"G"H,"LIANG"M"L,"LI"X"G."How"to"make"the"library"smart?"The"conceptualization"of"the"smart"library[J]."The"Electronic"Library,"2018,"36(5):"811-825.
[2]"冉从敬,何梦婷.智慧图书馆资源服务模式及其实施策略[J].数字图书馆论坛.2018(6):21-29.
[3]"YUNUS"N,"ISMAIL"M"N,"OSMAN"G."Smart"library"themes"and"elements:"A"systematic"literature"review[J].Journal"of"Librarianship"and"Information"Science,2023:"09610006231207098.
[4]"高蕴梅,孙金娟.数智时代智慧馆员能力体系构建研究[J].图书馆.2024,(1):38-46.
[5]"农慧勤.大数据环境下智慧图书馆管理与服务探究[J].参花.2024,(25):137-139.
[6]"HAN"J"W,"KAMBER"M,"PEI"J."Data"mining:"concepts"and"techniques[M]."Morgan"kaufmann,"2006.
[7]"NICHOLSON"S."Bibliomining"for"automated"collectionnbsp;development"in"a"digital"library"setting:"Using"data"mining"to"discover"Web‐based"scholarly"research"works[J]."Journal"of"the"American"Society"for"information"science"and"technology,"2003,"54(12):"1081-1090.
[8]"SIGUENZA-GUZMAN"L,"SAQUICELA"V,"AVILA-"ORDÓÑEZ"E,"et"al."Literature"review"of"data"mining"applications"in"academic"libraries[J]."The"Journal"of"Academic"Librarianship,"2015,"41(4):"499-510.
[9]"王丰年.我国学术文献数据库公益性和商业性的博弈:走向公益性的学术文献数据库[J].科技与出版.2017-(5):110-114.
[10]"韩文煜.基于python数据分析技术的数据整理与分析研究[J].科技创新与应用,2020-(4):157-158.
[11]"pandas."pandas[EB/OL].(2024-09-20)"[2024-10-10]."https://pandas.pydata.org/.
[12]"BASTIAN"M,"HEYMANN"S,"JACOMY"M."Gephi:"An"open"source"software"for"exploring"and"manipulating"networks[C]//Proceedings"of"the"international"AAAI"Conference"on"Web"and"Social"Media."2009,"3(1):"361-362.
[13]"《中国图书馆分类法》编委会.《中国图书馆分类法》第五版使用手册[M].国家图书馆出版社,2012.
[14]"Clarivate"Analytics."Web"of"Science"核心合集的字段标识[EB/OL].(2020-03-15)[2024-10-10]."https://images.webofknowledge.com/WOKRS56B5/help/zh_CN/WOS/hs_wos_fieldtags.html.