一种可扩展的命名实体钻取分析评价管道
orbis-eval的Python项目详细描述
ORBIS快速启动
ORBIS是执行NEL评估分析的通用框架。它支持精确性、召回率和f1分数等标准度量,并在注释文档的上下文中可视化gold standard和注释器结果。颜色编码实体允许专家快速识别正确和错误的注释以及ORBIS提供的知识库的相应链接。由于ORBIS使用的模块化管道结构,评估过程中的不同阶段可以很容易地修改、替换或添加。
我们第一次基于ORBIS的深入分析工作的结果在维也纳的语义2018年会议上介绍了
先决条件
为了能够开发和运行orbis,您需要安装以下程序 在系统上配置:
- 巨蟒3.7
- python设置工具
- Linux或Mac OS(Windows未经测试)
安装
要使用orbis,请从pypi下载并安装它:
$ python3 -m pip install -U orbis-eval['all'] --user
有更多可用的附加选项,但我们建议您使用"全部"选项。只有当您真正知道自己在做什么时,才能使用其他选项。
- all: Install all extras for Orbis. Recommended option
- all_plugins: Install only all plugins for Orbis.
- all_addons: Install only all addons for Orbis.
- aggregation: Install only all aggregation plugins for Orbis.
- evaluation: Install only all evaluation plugins for Orbis.
- metrics: Install only all metrics plugins for Orbis.
- scoring: Install only all scoring plugins for Orbis.
- storage: Install only all storage plugins for Orbis.
- "plugin or addon name": Install only the specified addon or plugin named.
或者,可以通过克隆repo并手动安装来安装orbis。插件和插件必须单独安装。
$ git clone https://github.com/orbis-eval/Orbis.git $ cd Orbis $ python3 setup.py install --user # or $ python setup.py install --user
根据您的系统,如果您安装了python 2和python3,您要么需要使用python3 您将提示设置ORBIS用户文件夹。此文件夹将包含评估运行队列、日志、语料库和单文件数据、输出和文档。默认位置将是用户主文件夹中的 安装后,可以通过运行 orbis使用yaml文件配置评估运行。这些配置文件位于orbis根目录的queue文件夹中。
在测试模式下执行orbis将运行位于队列文件夹中的测试文件夹中的yaml配置。这些测试配置是针对不同注释器(aida、babelfly、recognyze和spotlight)的短期评估运行。 yaml配置文件分为管道的各个阶段: orbis的聚合阶段收集评估运行所需的所有数据。这包括语料库、查询注释器和映射、monocle使用的镜头和过滤器。聚合设置指定应使用哪些服务、数据集以及哪些镜头、映射和筛选器。 yaml配置的service部分指定web服务(注释服务)的名称。这应该与webservice插件减去 位置指定批注的来源。如果设置为web,则聚合插件将尝试查询webservice。如果location设置为local,那么在假设要使用缓存的情况下,将使用本地缓存(位于 输入部分定义了应该使用什么样的语料库(在示例rss1中)。语料库名称应与 如果需要,还可以在输入部分指定镜头、映射和过滤器。这些应该位于 evaluator阶段根据gold标准评估注释器结果。评估部分定义了应该使用哪种评估。求值器的名称应与求值插件的名称相同,减去 评分阶段根据规定的条件对评价进行评分。这些条件在记分员中预先设置,可以在记分部分中指定,也可以在应记分的实体类型中指定。如果未定义实体类型,则对所有实体类型进行评分。如果定义了一个或多个实体类型,则只对这些类型进行评分。此外,还可以设置 当前可用的条件是: 度量阶段计算度量以分析评估。度量值的名称应与metrics插件的名称相同,减去 存储阶段定义orbis应创建的输出类型。在所有情况下,存储应该与存储插件的名称相同减去 可以选择多个存储选项,上面示例中的选项是建议的(当前工作时)可能性。 运行 要运行orbis加载项,orbis提供了一个cli,可以通过运行 通过将加载项名称附加到orbis加载项命令,可以直接调用orbis加载项:
orbis eval
。可以指定其他位置。运行
orbis eval
来执行orbis。可以使用-h
(orbis eval-h
)调用orbis帮助。
在运行评估之前,请使用repoman加载项orbis加载项安装一个语料库
配置评估运行
aggregation:service:name:aidalocation:webinput:data_set:name:rss1lenses:-3.5-entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913amevaluation:name:binary_classification_evaluationscoring:name:nel_scorercondition:overlapentities:-Person-Organization-Placeignore_empty:Falsemetrics:name:binary_classification_metricsstorage:-cache_webservice_results
聚合
aggregation:service:name:aidalocation:webinput:data_set:name:rss1lenses:-3.5-entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913am
orbis\u plugin\u aggregation\u前缀相同(写入方式相同)。
~/orbis eval/data/corpora/{corpus_name}/copmuted/{annotator_name}/
中)。
如果没有缓存,请在Web模式下运行评估,并将"缓存Web服务"结果添加到"存储"部分以生成缓存。aggregation:service:name:aidalocation:web
~/orbis eval/d中的语料库文件夹相同ata/corpora/
。
ORBIS将从那里自动找到语料库文本和黄金标准。input:data_set:name:rss1lenses:-3.5 -entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913am
~/orbis eval/data/[过滤器透镜映射]
中,并且应该在不以文件结尾的部分中指定。评估
orbis\u plugin\u求值前缀。
evaluation:name:binary_classification_evaluation
评分
ignore_empty
来定义记分器是否应忽略空的注释结果。
记分器的名称应与记分插件的名称相同,减去orbis\u plugin\u记分前缀。
scoring:name:nel_scorercondition:overlapentities:-Person-Organization-Placeignore_empty:False
$ python3 -m pip install -U orbis-eval['all'] --user
0
指标
orbis\u plugin\u metrics前缀。
$ python3 -m pip install -U orbis-eval['all'] --user
1
存储
orbis\u plugin\u storage前缀。
$ python3 -m pip install -U orbis-eval['all'] --user
2
试运行
orbis eval-t
将运行位于~/orbis eval/queue/tests
中的测试文件。您可以从这些yaml文件中选择一个并根据自己的需要对其进行修改。奥比萨多斯
orbis加载项
或orbis eval--run addon
来访问它。菜单将引导您找到附加组件,附加组件大多提供自己的菜单。ORBIS插件repoman
推荐PyPI第三方库