【发布时间】:2020-08-24 09:20:57
【问题描述】:
我想使用个人 API 进行命名实体识别 (NER),并使用 brat 进行可视化。似乎小子提供了一个Automatic annotation tool,但关于其配置的文档很少。
是否有此功能的可用示例?
有人能解释一下 API 的响应格式应该是什么吗?
【问题讨论】:
标签: named-entity-recognition brat
我想使用个人 API 进行命名实体识别 (NER),并使用 brat 进行可视化。似乎小子提供了一个Automatic annotation tool,但关于其配置的文档很少。
是否有此功能的可用示例?
有人能解释一下 API 的响应格式应该是什么吗?
【问题讨论】:
标签: named-entity-recognition brat
感谢 BRAT 的 GoogleGroup 扩散列表中的这个主题,我终于理解了它的工作原理
文本作为 POST 请求正文中的字节字符串发送到自动注释器 API,并且从该 API 响应所需的格式 BRAT 是字典字典的形式,namel(
{
"T1": {
"type": "WhatEverYouWantString", # must be defined in the annotation.conf file
"offsets": [(0, 2), (10, 12)], # list of tuples of integers that correspond to the start and end position of
"texts": ["to", "go"]
}
"T2" : {
"type": "SomeString",
"offsets":[(start1, stop1), (start2, stop2), ...]
"texts":["string[start1:stop1]", "string[start2:stop2]", ...
}
"T3" : ....
}
那么,你把这本字典转换成 JSON 格式,然后发回给 BRAT。
注意:
.ann 文件中的 Term 索引)我认为“texts”中的字符串必须对应“offsets”,否则应该有错误,或者至少标签显示有问题(如果你生成.ann已经是这种情况了来自自动检测算法的文件,并且具有与关联文本不同的开始和停止)
我希望它有所帮助。今天早上我设法使用Flask 制作了API,但我需要构造一个flask.Response 对象以获得正确的输出格式。此外,在我使用 flask.request 对象和 request.get_body() 方法之前,无法捕获从 BRAT 到 Flask API 的传入格式。
另外,我不得不提一下,我无法使用 BRAT GitHub 中给出的示例:
我的意思是我无法让它们工作,但我对 Python 中的 API 和 HTTP 包一点也不熟悉。至少我知道 API 响应的正确格式是什么。
最后,我不知道如何通过 API 建立实体之间的关系(即 BRAT 箭头)格式
似乎可以处理这样的事情。
GoogleGroup 讨论
似乎提到不可能从 Automatic Annotation API 发回实体之间的关系并使它们与 BRAT 一起使用。
我以后可能会试试 :-)
【讨论】: