跳转到主要内容

Invenio模块用于记录分类。

项目描述

https://img.shields.io/travis/inveniosoftware-contrib/invenio-classifier.svg https://img.shields.io/coveralls/inveniosoftware-contrib/invenio-classifier.svg https://img.shields.io/github/tag/inveniosoftware-contrib/invenio-classifier.svg https://img.shields.io/pypi/dm/invenio-classifier.svg https://img.shields.io/github/license/inveniosoftware-contrib/invenio-classifier.svg

Invenio模块用于记录分类。

特性

分类器可以从全文文档中自动提取关键词。在数字图书馆环境中,将关键词自动分配给文本文档具有明显的优势,因为它有助于文档的编目、分类和检索。

关键词提取简单

为了从基于受控词汇表 thesaurus.rdf 的文档 fulltext.pdf 中提取相关关键词,您需要按以下方式运行分类器:

${INVENIO_WEB_INSTANCE} classifier extract -k thesaurus.rdf -f fulltext.pdf

运行 ${INVENIO_WEB_INSTANCE} classifier --help 显示可用的选项。

例如,使用高能物理 RDF/SKOS 分类法 (HEP.rdf) 对文档 nucl-th/0204033 进行分类,其结果如下(基于 2008 年 10 月 10 日的 HEP 分类法)

Input file: 0204033.pdf

Author keywords:
Dense matter
Saturation
Unstable nuclei

Composite keywords:
10  nucleus: stability [36, 14]
6  saturation: density [25, 31]
6  energy: symmetry [35, 11]
4  nucleon: density [13, 31]
3  energy: Coulomb [35, 3]
2  energy: density [35, 31]
2  nuclear matter: asymmetry [21, 2]
1  n: matter [54, 36]
1  n: density [54, 31]
1  n: mass [54, 16]

Single keywords:
61  K0
23  equation of state
12  slope
4  mass number
4  nuclide
3  nuclear model
3  mass formula
2  charge distribution
2  elastic scattering
2  binding energy

词汇表

分类器基于特定术语在受控词汇表中的出现频率进行关键词提取。受控词汇表是特定语境中所有相关术语的词汇表。当语境由一个学科或知识分支定义时,该词汇表被称为 主题词汇表。可以在 这里 找到各种现有的主题词汇表。

主题词汇表可以用几种不同的格式表示。不同的机构/学科已经开发了不同的方式来表示它们的词汇系统。分类器使用的分类法是用 RDF/SKOS 表达的。它不仅允许列出关键词,还可以指定关键词之间的关系以及表示同一关键词的替代方法。

<Concept rdf:about="http://cern.ch/thesauri/HEP.rdf#scalar">
 <composite rdf:resource="http://cern.ch/thesauri/HEP.rdf#Composite.fieldtheoryscalar"/>
 <prefLabel xml:lang="en">scalar</prefLabel>
 <note xml:lang="en">nostandalone</note>
</Concept>

<Concept rdf:about="http://cern.ch/thesauri/HEP.rdf#fieldtheory">
 <composite rdf:resource="http://cern.ch/thesauri/HEP.rdf#Composite.fieldtheoryscalar"/>
 <prefLabel xml:lang="en">field theory</prefLabel>
 <altLabel xml:lang="en">QFT</altLabel>
 <hiddenLabel xml:lang="en">/field theor\w*/</hiddenLabel>
 <note xml:lang="en">nostandalone</note>
</Concept>

<Concept rdf:about="http://cern.ch/thesauri/HEP.rdf#Composite.fieldtheoryscalar">
 <compositeOf rdf:resource="http://cern.ch/thesauri/HEP.rdf#scalar"/>
 <compositeOf rdf:resource="http://cern.ch/thesauri/HEP.rdf#fieldtheory"/>
 <prefLabel xml:lang="en">field theory: scalar</prefLabel>
 <altLabel xml:lang="en">scalar field</altLabel>
</Concept>

在 RDF/SKOS 中,每个关键词都围绕一个 概念 进行包装,该概念封装了术语的完整语义和层次状态,包括同义词、替代形式、上位概念、注释等,而不仅仅是普通的关键词。

SKOS 语言的规范和有助于构建语义词汇表的 各种手册 可在 SKOS W3C 网站 上找到。此外,分类器可以在 SKOS 的扩展版本上运行,其中包括键链、复合关键词和特殊注释等特殊元素。

关键词提取

分类器根据词汇表术语在全文文档中的频率计算文档的关键词。换句话说,它计算词汇表关键词(及其在分类法中定义的替代和隐藏标签)在文本中出现的次数,并对其进行排序。与类似的系统不同,分类器不使用任何机器学习或 AI 方法 - 它只是使用 正则表达式 进行简单的短语匹配:它利用词汇表的格式和丰富性来产生准确的结果。因此,分类器在用 RDF/SKOS 语言表示的丰富、结构良好的主题词汇表上表现最佳。

祝您愉快地使用 Invenio-Classifier 并感谢您使用。

变更记录

版本 1.3.2 (发布日期 2018-03-12)

错误修复

  • 防止发生“无法打印的 KeyError”问题。

版本 1.3.1 (发布日期 2017-06-23)

错误修复

  • 反向排序核心关键词。

版本 1.3.0 (发布日期 2017-06-22)

不兼容的变更

  • 导出对象列表而不是元组列表,以帮助 ES 直接索引内容。

版本 1.2.0 (发布日期 2017-06-21)

不兼容的变更

  • 不要将关键词用作字典键,而将其作为列表元素。

版本 1.1.2 (发布日期 2017-05-22)

错误修复

  • 支持“·”作者分隔符

  • 支持 utf8 作者关键词

版本 1.1.1 (发布日期 2017-05-19)

错误修复

  • 在提取器中强制 utf8 也用于非 PDF 文件。

版本 1.1.0 (发布日期 2017-05-17)

不兼容的变更

  • 更改作者关键词的字典导出格式,以改进和语义化的方式。

  • 将字典导出中的键重命名为小写并使用 _ 分隔。

错误修复

  • 删除作者关键词中的尾随点。

版本 1.0.1 (发布日期 2017-01-11)

不兼容的变更

  • 更改模块以与 Invenio 3 兼容。

错误修复

  • 修复了当 CLASSIFIER_WORKDIR 设置为 None 时尝试发现分类时的崩溃问题。

  • 更新 Invenio 包的最小依赖项到新版本。

  • 修复了 bibclassify_keyword_analyzer.py 中的错误。如果通过同义词或正则表达式找到组合,则不再因为组合的组件未在文本中找到而丢弃。

  • 添加了缺失的 invenio_base 依赖项。

版本 0.1.0 (发布日期 2015-08-19)

  • 首次公开发布。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源代码分发

invenio-classifier-1.3.2.tar.gz (10.5 MB 查看哈希值)

上传时间 源代码

构建分发

invenio_classifier-1.3.2-py2.py3-none-any.whl (67.2 kB 查看哈希值)

上传时间 Python 2 Python 3

支持