数字图书馆技术:微服务架构与引文语义属性处理
1. CORE 微服务架构实践
1.1 应用效果
CORE 在过去一年采用了新的微服务架构,取得了显著成效。期间,馆藏量翻倍,目前拥有 7000 万条元数据记录和 600 万篇全文 PDF(见表 1)。虽然无法确定内容增长与新架构引入之间的直接关联,但在维护任务上,工作人员的时间消耗明显减少,这有助于开展新的工作。
| 年份 | 元数据 | 全文 |
|---|---|---|
| 2015 年 4 月 | 23,006,000 | 2,091,334 |
| 2016 年(1 月 - 12 月) | 66,137,655 | 4,626,215 |
| 2017 年(1 月 - 3 月) | 68,387,703 | 5,852,274 |
1.2 架构优势
- 维护与故障排除 :将整体代码拆分为具有特定操作的小组件后,系统的维护和故障排除变得更加容易和高效。遇到问题时,程序员可以专注于小的有问题的代码单元,而不必遍历整个代码库。
- 可恢复性 :CORE 会从一些大型存储库中采集数据,任务可能需要运行很长时间,甚至数天。在新架构中,代码出现故障或重新部署改进版本时,任务不会丢失,会自动恢复,无需人工干预。
- 任务质量与性能 :从整体采集方法转向微服务应用后,可以更专注于每个任务的质量和性能,并建立有效的衡量标准,如成功或失败。例如,以前很难关注延迟和质量保证控制等问题,现在可以决定是否应在特定任务上投入更多精力和资源。
- 可扩展性和分布式环境 :微服务架构使系统能够在更具扩展性和分布式的环境中运行。旧架构扩展需要添加新资源或服务器,而新架构可以在现有硬件基础设施内高效调配服务,根据需求进行转换。
- 前后端分离 :引入微服务时,将采集基础设施与公共服务分离,公共服务仅通过 ElasticSearch 索引与采集后端连接。这种分离提高了服务的正常运行时间。
1.3 面临挑战
- 工人数量估计 :难以估计系统中高效运行所需的最佳工人数量。目前主要采用试错法进行工人分配,正在研究基于分布式计算形式模型(如 Petri 网)的更复杂方法。
- 评估框架复杂性 :架构采用渐进式方法构建,逐步消除对整体系统的依赖,这增加了创建正式评估框架的复杂性。不过,通过构建形式模型,可以以实验方式验证方法的质量。
- 资源分配问题 :旧架构为整体方法设计,服务器为采集过程全部分配。引入微服务后,虽然能够实现细粒度的资源分配,并采用不同方式收集硬件资源(如使用云服务进行存储和计算),但仍面临成本效益资源分配的问题。
- 系统性能改进 :需要提高系统的整体性能,目前正在收集 CPU、内存和网络使用情况、内容新鲜度和全文爬取质量等指标,以定义新的性能关键指标并改进服务。同时,还面临采集过程中的错误检测、全文爬取效率和去重改进等问题,需要在未来工作中解决。
2. 研究信息系统中的引文语义属性处理
2.1 传统引文关系生成方法
许多研究信息系统(RIS),如 Google Scholar、Web of Science 等,通常使用成熟的程序生成引文关系,主要包括两个步骤:
1.
提取
:处理研究论文内容,重点关注“参考文献”部分,提取每个参考文献的书目数据。
2.
链接
:在 RIS 数据库中搜索提取的参考文献数据,如果搜索成功,则获取被引用论文的 ID 并与引用论文的 ID 进行链接。
这种传统方法可以为构建不同的引文索引提供数据,但研究论文中通常包含更多潜在有用的引文数据,如用于研究引用和被引用论文之间的语义链接、进行引文内容分析、提高现有引文指标的准确性等。
2.2 引文语义属性分析
研究论文中包含丰富的引文数据,这些数据可以为引文关系添加语义属性,具体如下:
-
引用频率
:识别论文文本中的文中引用,可以统计同一参考文献在论文中甚至所有论文中的引用频率。
-
引用风格
:分析文中引用左右 1 - 2 个句子的上下文数据,可以评估引用风格,如被引用论文在引用论文中的使用方式。
-
引用位置
:考虑文中引用所在的论文部分,可以了解其在论文结构中的位置,这些位置数据目前是科学计量研究的关注点。
这些上下文数据可能会影响引文指标质量的提高,例如通过更准确地对引文进行加权。
2.3 PDF 转换
PDF 是二进制数据文件,为了提取和解析其中的数据,需要将其转换为文本格式。传统的转换为纯文本的方法虽然可以进行传统引文分析所需的参考文献列表解析,但很难识别页眉/页脚和章节标题。
目前有至少两种开源程序可以在转换 PDF 时保留内容各部分的空间排列属性,它们都结合了 PDF.js JavaScript 模块和 Node.js 平台:
-
PDF2JSON
:用于重建文档的语义结构。处理 PDF 文档后,输出的 JSON 文件包含有用的附加属性。例如,通过“x”和“y”属性可以识别页码和页眉/页脚,通过“TS”属性可以识别章节标题。
-
PDF - STREAM
:由 CitEcCyr 团队开发的开源软件。平均而言,它比 PDF2JSON 快 2 - 3 秒,转换一个 PDF 文件平均需要 1.7 秒。它生成的 JSON 文件大小更小,因为提供的属性较少且排除了一些无用的元数据,能够提供足够的数据来解析所需的引文属性。
graph LR
A[PDF 文件] --> B{转换方法}
B --> C[PDF2JSON]
B --> D[PDF - STREAM]
C --> E[JSON 文件(含附加属性)]
D --> F[JSON 文件(小尺寸)]
2.4 引文数据解析与可视化
从 JSON 版本的 PDF 文档中可以更准确地解析引文数据。CitEcCyr 项目提供了一组包含提取引文数据的 XML 文件,可用于为真实研究论文的引文关系创建语义属性。
在可视化方面,由于 Socionet RIS 包含 Hypothes.is 开发的注释工具,并且可以将大多数 PDF 论文的引文数据作为注释呈现,因此论文作者可以管理这些注释,如纠正错误或丰富数据。
综上所述,微服务架构在数字图书馆采集中具有诸多优势,但也面临一些挑战。同时,通过处理研究论文的 PDF 内容,可以提取丰富的引文语义属性,并进行可视化展示,为研究信息系统的功能扩展提供了新的方向。
3. 微服务架构与引文处理的综合应用
3.1 结合微服务与引文处理的潜在优势
将微服务架构应用于研究信息系统中的引文处理,能够带来多方面的潜在优势:
-
提高处理效率
:微服务的可扩展性和分布式特性,使得引文处理任务可以并行执行,从而提高整体处理效率。例如,不同的微服务可以分别负责引文提取、链接、语义属性分析等任务,减少处理时间。
-
增强系统灵活性
:微服务架构允许独立开发、部署和维护各个服务,便于根据需求对引文处理功能进行调整和扩展。例如,可以轻松添加新的语义属性分析方法或改进现有的处理流程。
-
优化资源利用
:通过微服务的细粒度资源分配,可以根据不同任务的需求合理分配计算和存储资源,提高资源利用效率,降低成本。
3.2 实施步骤
要将微服务架构与引文处理相结合,可以按照以下步骤进行:
1.
需求分析
:明确研究信息系统中引文处理的具体需求,包括需要提取的语义属性、处理的论文数量和频率等。
2.
服务设计
:根据需求分析的结果,设计各个微服务,确定每个服务的功能和接口。例如,可以设计一个引文提取微服务、一个语义属性分析微服务和一个可视化微服务。
3.
开发与部署
:使用合适的技术栈开发各个微服务,并将其部署到相应的环境中。可以使用 Java、Spring Framework 等技术开发微服务,使用 Kubernetes 等容器编排工具进行部署和管理。
4.
集成与测试
:将各个微服务集成到研究信息系统中,并进行全面的测试,确保系统的稳定性和功能的正确性。
5.
监控与优化
:建立监控系统,实时监测微服务的运行状态和性能指标,根据监测结果进行优化和调整。
3.3 示例架构
以下是一个简单的微服务架构示例,用于处理研究论文的引文:
graph LR
A[研究论文 PDF] --> B(引文提取微服务)
B --> C(语义属性分析微服务)
C --> D(可视化微服务)
D --> E[用户界面]
在这个架构中,引文提取微服务负责从 PDF 文件中提取引文数据,语义属性分析微服务对提取的引文数据进行语义属性分析,可视化微服务将分析结果以直观的方式呈现给用户。
4. 未来发展趋势
4.1 技术创新
随着技术的不断发展,未来可能会出现更多创新的方法和工具,用于微服务架构和引文处理。例如,人工智能和机器学习技术可以用于更准确地识别和分析引文的语义属性,区块链技术可以用于确保引文数据的安全性和可信度。
4.2 数据共享与合作
研究信息系统之间的数据共享和合作将变得更加重要。通过共享引文数据和语义属性,可以促进学术研究的交流和合作,提高研究的质量和影响力。
4.3 用户体验优化
未来的研究信息系统将更加注重用户体验的优化。通过提供更加个性化、智能化的引文处理和可视化服务,满足用户的不同需求,提高用户的满意度和忠诚度。
4.4 行业标准制定
为了促进微服务架构和引文处理的发展,需要制定相关的行业标准和规范。例如,统一的语义属性定义、数据格式和接口标准等,将有助于不同系统之间的互操作性和数据共享。
5. 总结
微服务架构在数字图书馆采集和研究信息系统的引文处理中具有重要的应用价值。通过将整体代码拆分为小组件,微服务架构提高了系统的可维护性、可恢复性和可扩展性,同时实现了前后端分离,提高了服务的正常运行时间。在引文处理方面,通过将 PDF 转换为 JSON 格式,可以提取丰富的语义属性,并进行可视化展示,为学术研究提供了更多有价值的信息。
然而,微服务架构和引文处理也面临一些挑战,如工人数量估计、评估框架复杂性、资源分配问题和系统性能改进等。未来,随着技术的不断发展和创新,微服务架构和引文处理将不断完善和优化,为学术研究和信息服务提供更加高效、智能的解决方案。
同时,为了更好地应对未来的发展趋势,需要加强技术创新、促进数据共享与合作、优化用户体验和制定行业标准。通过这些努力,将推动微服务架构和引文处理在学术领域的广泛应用,为学术研究的发展做出更大的贡献。
以下是一个总结表格,展示了微服务架构和引文处理的优势、挑战和未来发展趋势:
| 方面 | 详情 |
| ---- | ---- |
| 优势 | - 微服务:维护与故障排除容易、可恢复性强、任务质量与性能可衡量、可扩展性和分布式环境好、前后端分离提高服务正常运行时间
- 引文处理:可提取丰富语义属性,如引用频率、风格、位置,为学术研究提供有价值信息 |
| 挑战 | - 微服务:工人数量估计困难、评估框架复杂、资源分配问题、系统性能待提高
- 引文处理:PDF 转换和语义属性分析的准确性和效率有待提高 |
| 未来发展趋势 | - 技术创新:人工智能、机器学习、区块链等技术的应用
- 数据共享与合作:促进学术交流和合作
- 用户体验优化:提供个性化、智能化服务
- 行业标准制定:统一语义属性定义、数据格式和接口标准 |
超级会员免费看
29

被折叠的 条评论
为什么被折叠?



