🚀 EpiExtract4GARD-v2
EpiExtract4GARD-v2 は、場所(LOC)、疫学的タイプ(EPI)、疫学的比率(STAT)の 固有表現抽出 にすぐに使用できる、微調整された BioBERT-base-cased モデルです。このモデルは、希少疾患のアブストラクトからの疫学情報に関する EpiSet4NER-v2 で微調整されています。弱教師付きの学習方法やデータセットのバイアスと制限の詳細については、データセットのドキュメントを参照してください。パイプライン全体の詳細については、GitHub の EpiExtract4GARD を参照してください。
🚀 クイックスタート
✨ 主な機能
- 場所(LOC)、疫学的タイプ(EPI)、疫学的比率(STAT)の固有表現抽出が可能。
- EpiSet4NER-v2 で微調整されたモデルで、希少疾患のアブストラクトからの疫学情報を抽出できる。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコードを使用して、Transformers ライブラリをインストールできます。
pip install transformers
💻 使用例
基本的な使用法
このモデルは、右側の Hosted inference API を使用して、この テスト文 で使用できます。
from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer
model = AutoModelForTokenClassification.from_pretrained("ncats/EpiExtract4GARD")
tokenizer = AutoTokenizer.from_pretrained("ncats/EpiExtract4GARD")
NER_pipeline = pipeline('ner', model=model, tokenizer=tokenizer, aggregation_strategy='simple')
sample = "27 patients have been diagnosed with PKU in Iceland since 1947. Incidence 1972-2008 is 1/8400 living births."
NER_pipeline(sample)
高度な使用法
GitHub から classify_abs.py、extract_abs.py、および gard-id-name-synonyms.json をダウンロードすると、この 追加コード でテストできます。
import pandas as pd
import extract_abs
import classify_abs
pd.set_option('display.max_colwidth', None)
NER_pipeline = extract_abs.init_NER_pipeline()
GARD_dict, max_length = extract_abs.load_GARD_diseases()
nlp, nlpSci, nlpSci2, classify_model, classify_tokenizer = classify_abs.init_classify_model()
def search(term, num_results = 50):
return extract_abs.search_term_extraction(term, num_results, NER_pipeline, GARD_dict, max_length, nlp, nlpSci, nlpSci2, classify_model, classify_tokenizer)
a = search(7058)
a
b = search('Santos Mateus Leal syndrome')
b
c = search('Fellman syndrome')
c
d = search('GARD:0009941')
d
e = search('Homocystinuria')
e
📚 ドキュメント
モデルの説明
このモデルは、EpiSet4NER で訓練されています。弱教師付きの学習方法やデータセットのバイアスと制限の詳細については、データセットのドキュメントを参照してください。訓練データセットは、エンティティの開始と継続を区別するため、同じタイプのエンティティが連続している場合でも、モデルは2番目のエンティティの開始位置を出力できます。データセットと同様に、各トークンは次のクラスのいずれかに分類されます。
略称 |
説明 |
O |
固有表現の外 |
B-LOC |
場所の開始 |
I-LOC |
場所の内部 |
B-EPI |
疫学的タイプの開始(例:「発生率」、「有病率」、「発生」) |
I-EPI |
開始トークンではない疫学的タイプ |
B-STAT |
疫学的比率の開始 |
I-STAT |
疫学的比率の内部 |
+More |
説明待ち |
EpiSet 統計
EpiSet4NER データセットによる制限に加えて、このモデルは BERT ベースのモデルがサブワード埋め込みを使用するため、数値処理能力に制限があります。これは、疫学的比率の識別に重要であり、エンティティレベルの結果を制限します。最近の数値処理技術を使用して、基礎となるデータセットを改善せずにモデルの性能を向上させることができます。
訓練手順
このモデルは、AWS EC2 p3.2xlarge で訓練されました。これは、単一の Tesla V100 GPU を使用し、以下のハイパーパラメータで訓練されました。
- 4エポックの訓練(AdamW ウェイトディケイ = 0.05)
- バッチサイズ = 16
- 最大シーケンス長 = 192
- モデルは1文ずつ入力されました。
🔧 技術詳細
このモデルは、BioBERT-base-cased をベースにしています。BioBERT は、生物学的なテキストに特化した BERT モデルで、医学や生物学の分野での固有表現抽出に優れた性能を発揮します。このモデルは、EpiSet4NER-v2 で微調整されており、希少疾患のアブストラクトからの疫学情報を抽出するために最適化されています。
📄 ライセンス
このモデルは、other ライセンスの下で提供されています。詳細については、ライセンス情報を参照してください。