アノテーションと学習データの準備
データを収集したら、spaCy モデルに必要な形式でデータにアノテーションを付けます。この演習では、医療領域の NER タスクに向けて、正しい注釈レコードを作成する練習をします。
sentence と、テキストが chest pain・タイプが SYMPTOM の entity_1、テキストが hyperthyroidism・タイプが DISEASE の entity_2 が用意されています。
この演習はコースの一部です
spaCyで学ぶNatural Language Processing
演習の手順
- 正しい形式で
annotated_dataレコードを完成させてください。 - 各エンティティの開始文字と終了文字を抽出し、対応する変数に保存してください。
- 同じ入力文とそのエンティティを、適切な学習用フォーマットで
training_dataとして保存してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
text = "A patient with chest pain had hyperthyroidism."
entity_1 = "chest pain"
entity_2 = "hyperthyroidism"
# Store annotated data information in the correct format
annotated_data = {"sentence": ____, "entities": [{"label": "SYMPTOM", "value": ____}, {"label": "DISEASE", "value": ____}]}
# Extract start and end characters of each entity
entity_1_start_char = text.____(____)
entity_1_end_char = entity_1_start_char + len(____)
entity_2_start_char = text.____(____)
entity_2_end_char = entity_2_start_char + len(____)
# Store the same input information in the proper format for training
training_data = [(____, {"entities": [(____,____,"SYMPTOM"),
(____,____,"DISEASE")]})]
print(training_data)