Данные формата JSON:
{
"id": 8,
"text": "曾经去过深圳、珠海的俭汤青年农民回乡后意味深长地说,从南往北走,越走越保守。",
"entities": [
{
"id": 9,
"label": "LOC",
"start_offset": 4,
"end_offset": 6
},
{
"id": 10,
"label": "LOC",
"start_offset": 7,
"end_offset": 9
},
{
"id": 11,
"label": "PER",
"start_offset": 12,
"end_offset": 16
}
],
"relations": []
}
Данные формата JSONL:
{
"id": 12,
"text": "张廷智, 毕业于大连军医学院,从事中医治疗中晚期肿瘤临床工作30余年*张延智*大连军医学院*人物*学校",
"entities": {
"id": 18,
"label": "PER",
"start_offset": 0,
"end_offset": 3
},
{
"id": 19,
"label": "ORG",
"start_offset": 8,
"end_offset": 14
}
},
"relations": {
"id": 1,
"from_id": 18,
"to_id": 19,
"type": "毕业"
}
}
``` **Выходные файлы содержат три файла: example_train_cn.txt, example_dev_cn.txt и example_test_cn.txt.** Они соответствуют обучающему набору данных, проверочному набору и тестовому набору. Мы автоматически разделяем данные исходного файла на три части в соотношении 0,8:0,1:0,1. Формат выходных файлов следующий:
```h3 align="left">
<img src="https://github.com/zjunlp/DeepKE/blob/main/example/ner/prepare-data/pics/output_data_format.png?raw=true", width=375>
</h3>
Среда:
Объяснение параметров:
Выполнение:
python prepare_weaksupervised_data.py --language cn --dict_dir vocab_dict_cn.csv
python prepare_weaksupervised_data.py --language en --dict_dir vocab_dict_en.csv
Чтобы пользователи могли лучше использовать DeepKE для извлечения отношений, мы предоставляем простой в использовании инструмент для маркировки отношений на основе удалённого надзора.
Исходный файл:
Файл с исходными данными должен быть в формате .json и содержать только одну пару сущностей в каждой строке, которые являются главной и зависимой сущностью соответственно. В данных должно быть как минимум четыре поля: предложение (предложение), главная сущность (главная сущность), зависимая сущность (зависимая сущность), смещение главной сущности в предложении (смещение главной сущности в предложении), смещение зависимой сущности в предложении (смещение зависимой сущности в предложении). Конкретный формат словаря json выглядит следующим образом:
[
{
"sentence": "如何演好自己的角色,请读《演员自我修养》《喜剧之王》周星驰崛起于穷困潦倒之中的独门秘笈",
"head": "周星驰",
"tail": "喜剧之王",
"head_offset": "26",
"tail_offset": "21",
//...
},
//...
]
Файл триплетов:
Пары сущностей из исходного файла будут сопоставлены со строками в файле триплетов. Если совпадение успешно, пара сущностей будет помечена как ярлык отношения в триплете, если совпадения нет, она будет помечена как None.
Мы предоставили один файл триплетов на английском языке и один на китайском языке. Английский файл триплетов взят из набора данных NYT и содержит следующие типы отношений:
"/business/company/place_founded",
"/people/person/place_lived",
"/location/country/administrative_divisions",
"/business/company/major_shareholders",
"/sports/sports_team_location/teams",
"/people/person/religion",
"/people/person/place_of_birth",
"/people/person/nationality",
"/location/country/capital",
"/business/company/advisors",
"/people/deceased_person/place_of_death",
"/business/company/founders",
"/location/location/contains",
"/people/person/ethnicity",
"/business/company_shareholder/major_shareholder_of",
"/people/ethnicity/geographic_distribution",
"/people/person/profession",
"/business/person/company",
"/people/person/children",
"/location/administrative_division/country",
"/people/ethnicity/people",
"/sports/sports_team/location",
"/location/neighborhood/neighborhood_of",
"/business/company/industry"
Китайский файл триплетов взят с GitHub и содержит следующие типы отношений:
{"object_type": "地点", "predicate": "祖籍", "subject_type": "人物"}
{"object_type": "人物", "predicate": "父亲", "subject_type": "人物"}
{"object_type": "地点", "predicate": "总部地点", "subject_type": "企业"}
{"object_type": "地点", "predicate": "出生地", "subject_type": "人物"}
{"object_type": "目", "predicate": "目", "subject_type": "生物"}
{"object_type": "Number", "predicate": "面积", "subject_type": "行政区"}
{"object_type": "Text", "predicate": "简称", "subject_type": "机构"}
{"object_type": "Date", "predicate": "上映时间", "subject_type": "影视作品"}
{"object_type": "人物", "predicate": "妻子", "subject_type": "人物"}
{"object_type": "音乐专辑", "predicate": "所属专辑", "subject_type": "歌曲"}
{"object_type": "Number", "predicate": "注册资本", "subject_type": "企业"}
{"object_type": "城市", "predicate": "首都", "subject_type": "国家"}
{"object_type": "人物", "predicate": "导演", "subject_type": "影视作品"}
{"object_type": "Text", "predicate": "字", "subject_type": "历史人物"}
{"object_type": "Number", "predicate": "身高", "subject_type": "人物"}
{"object_type": "企业", "predicate": "出品公司", "subject_type": "影视作品"}
{"object_text": "修业年限", "predicate": "学科专业"}
{"object_type": "Date", "predicate": "出生日期", "subject_type": "人物"}
{"object_type": "人物", "predicate": "制片人", "subject_type": "影视作品"}
{"object_type": "人物", "predicate": "母亲", "subject_type": "人物"}
{"object_type": "人物", "predicate": "编剧", "subject_type": "影视作品"}
{"object_type": "国家", "predicate": "国籍", "subject_type": "人物"}
{"object_type": "Number", "predicate": "海拔", "subject_type": "地点"}
{"object_type": "网站", "predicate": "连载网站", "subject_type": "网络小说"}
{"object_type": "人物", "predicate": "丈夫", "subject_type": **Перевод текста на русский язык:**
Человек может создавать собственные файлы с тройками, но необходимо задать файлу формат .csv и следовать следующему формату:
| Главный объект | Конечный объект | Отношение |
| :-- |:-- |:--|
| Чжоу Синчи | Король комедии | Исполняет главную роль |
| ... | ... | ...|
**Выходные файлы**
Есть три выходных файла: labeled_train.json, labeled_dev.json и labeled_test.json, которые соответствуют обучающему, проверочному и тестовому наборам данных соответственно. Мы автоматически разделяем исходные данные на три части в соотношении 0,8:0,1:0,1. Формат выходного файла следующий:
```json
[
{
"sentence": "Как хорошо сыграть свою роль, прочитайте «Самосовершенствование актёра» и «Король комедии» Чжоу Синчи поднимается из бедности",
"head": "Чжоу Синчи",
"tail": "Король комедии",
"head_offset": "26",
"tail_offset": "21",
"relation": "Исполняет главную роль",
//...
},
//...
]
Описание параметров
Запуск
python ds_label_data.py --language en --source_file source_data.json --triple_file triple_file.csv
FAQ
Вопрос: Сколько данных нужно помечать?
Ответ: Пометка — это процесс, требующий больших затрат времени и усилий. С идеальной точки зрения, чем больше данных помечено, тем лучше будет модель после обучения. Однако на практике это не всегда возможно. С одной стороны, необходимо учитывать реальные ресурсы и время; с другой стороны, следует рассмотреть влияние увеличения объёма данных на улучшение модели. Обычно для распознавания сущностей и извлечения отношений требуется около 10 тысяч данных.
Вопрос: Предоставляются ли размеченные данные?
Ответ: В распознавании сущностей предоставляются два словаря сущностей (на китайском и английском языках), которые могут автоматически помечать образцы.
Вопрос: Модель, обученная на автоматически размеченных данных, работает плохо.
Ответ: Плохая производительность модели может быть вызвана следующими причинами:
Цитирование
Если ресурсы или технологии этого проекта помогли вашей исследовательской работе, вы можете процитировать следующую статью в своей диссертации.
@article{zhang2022deepke,
title={DeepKE: A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population},
author={Zhang, Ningyu and Xu, Xin and Tao, Liankuan and Yu, Haiyang and Ye, Hongbin and Qiao, Shuofei and Xie, Xin and Chen, Xiang and Li, Zhoubo and Li, Lei and Liang, Xiaozhuan and others},
journal={arXiv preprint arXiv:2201.03335},
year={2022}
}
Отказ от ответственности
Содержание этого проекта предназначено только для технических исследований и не должно использоваться в качестве вывода. Пользователи могут использовать эту модель в рамках лицензии, но мы не несём ответственности за любые прямые или косвенные убытки, вызванные использованием содержимого этого проекта.
Обратная связь
Пожалуйста, отправьте вопросы через GitHub Issue.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )