标记数据
正确标记数据是创建自定义实体提取模型的过程的重要组成部分。 标记标识用于训练模型的文本中特定实体的示例。 要关注的三点是:
- 一致性 - 在所有文件中以相同的方式标记数据进行训练。 一致性允许模型在没有任何冲突的输入的情况下学习。
- 精准率 - 一致地标记实体,无需不必要的额外字词。 精准率可确保仅将正确的数据包含在提取的实体中。
- 完整性 - 完全标记数据,并且不会错过任何实体。 完整性有助于模型始终识别存在的实体。
如何标记数据
Language Studio 是标记数据的最直接方法。 Language Studio 支持查看文件、选择实体的开头和结尾,并指定它是哪个实体。
你标识的每个标记保存在带有数据集(在自动生成的 JSON 文件中)的存储帐户中的文件中。 然后,模型使用此文件来了解如何提取自定义实体。 创建项目时(例如如果要从其他项目中导入相同标记),可以提供此文件,但它必须采用接受的自定义 NER 数据格式。 例如:
{
"projectFileVersion": "{DATE}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectKind": "CustomEntityRecognition",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectName": "{PROJECT-NAME}",
"multilingual": false,
"description": "Project-description",
"language": "en-us",
"settings": {}
},
"assets": {
"projectKind": "CustomEntityRecognition",
"entities": [
{
"category": "Entity1"
},
{
"category": "Entity2"
}
],
"documents": [
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"entities": [
{
"regionOffset": 0,
"regionLength": 500,
"labels": [
{
"category": "Entity1",
"offset": 25,
"length": 10
},
{
"category": "Entity2",
"offset": 120,
"length": 8
}
]
}
]
},
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"entities": [
{
"regionOffset": 0,
"regionLength": 100,
"labels": [
{
"category": "Entity2",
"offset": 20,
"length": 5
}
]
}
]
}
]
}
}
字段 | 说明 |
---|---|
documents |
标记的文档数组 |
location |
连接到项目的容器中的文件路径 |
language |
文件的语言 |
entities |
当前文档中当前实体的数组 |
regionOffset |
文本开头的包含字符位置 |
regionLength |
训练中使用的数据的长度(以字符为单位) |
category |
要提取的实体的名称 |
labels |
文件中标记的实体数组 |
offset |
实体开头的包含字符位置 |
length |
实体长度(以字符为单位) |
dataset |
将文件分配到的数据集 |