B

Bonjour

V1

2023/03/18阅读:61主题:全栈蓝

图书馆数字人文

图书馆数字人文的Python文本挖掘

研究背景

作为数字技术和人文社会科学深度交叉融合的产物,数字人文 (Digital Humanities)是针对计算与人文学科之间的交叉领域进行学习、研究、发明及创新的一门学科,其在多个学科领域蓬勃发展,极大地改变着人文、社会学科等一系列相关学科的研究方法与思维模式。作为数字技术与人文学科交叉的学术领域,近年来数字人文成为国内外热点研究方向之一,它的发展推动了人文研究的变革与创新,同时也受到了图书馆界的密切关注。图书馆与数字人文之间存在诸多关联和融合,图书馆可重塑角色定位,进一步发挥其空间、资源、技术、教育等方面的优势,在为数字人文建设提供支持与服务的同时实现自身创新发展。数字人文是数字图书馆建设达到一定规模后的必然发展方向。

研究过程

  1. 数据准备
  • 1.1 以“图书馆数字人文”为检索词,在CNKI上进行检索,共检索出1151条文献,以Endnote格式进行下载
  • 1.2 使用SATI对下载的数据进行关键词与摘要的提取
  • 1.3 将提取的关键词放入记事本文件中,摘要放入Excel文件中
  • 1.4 停用词文件的准备
  1. 中文文本分词及词云图绘制
  • 2.1 读入数据
#导包
import pandas as pd
#读入文件
papers=pd.read_excel('CNKIforLDA.xlsx',
names=['Abstract'])
papers.head()

运行结果:

  • 2.2 进行分词
#导包 没有的话需要安装pip install jieba
import jieba
#加载用户词典和停用词典
jieba.load_userdict('digitalhumanities.txt')
stoplists=list(pd.read_csv
('停用词.txt',names=['w'],sep=" ",
encoding='utf-8').w)
#分词
wordlists=jieba.lcut (" ".join
(papers.Abstract))
#去停用词
words=[word for word in wordlists if word 
not in stoplists and len (word)>1]words[:5]

运行结果:

#词频统计
from nltk import FreqDist
freqDist=FreqDist(words)
#查看排名前5的词
freqDist.most_common(5)

运行结果:

  • 2.3 绘制词云
#导包 没有的话需要安装pip install wordcloud 
import wordcloud
import matplotlib.pyplot as plt
myfont=r'C: \Windows\Fonts\simkai.ttf' #定义字体(此处为宋体)
cloudobj=wordcloud.WordCloud(font_path=myfont,
width=500,height=300,mode="RGBA",
background_color=None).fit_words(freqDist)
plt.imshow(cloudobj)
plt.axis("off")
plt.show ()

运行结果:

3. LDA主题分析

  • 3.1 读入数据
#导包
import pandas as pd
import jieba
#读入数据
paper=pd.read_excel('CNKIforLDA.xlsx',
names=['Abstract'])
paper.head()

运行结果:

  • 3.2 分词、去停用词
#应用jieba进行分词、去停用词
jieba.load_userdict
('digitalhumanities.txt')
stoplists=list(pd.read_csv
('停用词.txt',names=['w'],
sep="aaa",encoding='utf-8').w)
#定义分词方法
def m_cut(intxt):
    return [w for w in jieba.
    cut(intxt)if w not in 
    stoplists and len(w)>2]
#进行分词
paperlist=[m_cut (w) for w in paper.Abstract]
paperlist[:1]

运行结果:

  • 3.3 构建BOW稀疏向量、TF-IDF计算
#导包
from gensim import corpora, models
dict=corpora.Dictionary(paperlist)
#生成文档稀疏向量
corpus=[dict. doc2bow (text) for text 
in paperlist]
tfidf_model=models.TfidfModel (corpus)
corpus_tfidf=tfidf_model[corpus]
corpus_tfidf

运行结果:

  • 3.4 LDA建模
from gensim.models.ldamodel 
import LdaModel
%time ladmodel=LdaModel(corpus_tfidf,
id2word=dict,num_topics=8,passes=5)
#列出主题和关键词
ladmodel.print_topics(num_topics=8,
num_words=10)

运行结果:

#计算各语料的LDA模型值
corpus_lda=ladmodel [corpus_tfidf]
for doc in corpus_lda:
     print (doc)

运行结果:

#检索和文本内容最接近的主题
query=paper.Abstract [1]
query_bow=dict.doc2bow(m_cut(query))
query_tfidf=tfidf_model [query_bow]
print("转换后:",query_tfidf[:10])
ladmodel.get_document_topics(query_tfidf)

运行结果:

ladmodel[query_tfidf]

运行结果:

#生成LDAVis图谱
import pyLDAvis.gensim_models 
as gensimvis
from pyLDAvis import gensim
pyLDAvis.enable_notebook ()
topic_date=pyLDAvis.gensim.
prepare(ladmodel,corpus,dict)
pyLDAvis.save_html(topic_date,
'save_blockchain. html')

研究结果

参数为0时:

参数为1时:

研究结论

根据以上生成的8个最优主题,得出图书馆数字人文领域的以下几个结论:

  • 1、高校图书馆向人文学科延伸的表现即数字人文。我国高校图书馆馆藏资源储备丰富,数字技术发展迅速,跨学科交流协作丰富,因此对于高校图书馆数字人文的研究颇多,高校图书馆是数字人文可持续发展的最佳合作伙伴。
  • 2、图书馆数字人文服务的研究。图书馆的数字化转型最终目的是为了更好地服务用户,图书馆的数字人文着力于服务创新的研究,旨在用数字人文加速服务创新的发展,拓宽服务的边界。图书馆的知识服务主要体现在图书馆员身上,要通过数字技术实现馆员与用户的精准对接 。
  • 3、数字人文的图书馆馆藏建设。除了对一些基本数据集的开发与利用,图书馆数字人文对于已经数字化的珍贵古籍、民间文献、文化遗产等资源进行知识关联与重组也颇为关注,将数字人文注入馆藏资源与档案整理建设中。

分类:

后端

标签:

后端

作者介绍

B
Bonjour
V1