病名抽出モジュール¶
日本語医療文書のための病名抽出システム
症例報告などの医療文書から病名を抽出(・正規化)するシステムです. BERT-CRFを使用しています
- param DEFAULT_CACHE_PATH
モデルのダウンロード先指定のための環境変数(default: ~/.cache)
- type DEFAULT_CACHE_PATH
env
-
class
medner_j.ner.
Ner
(base_model, basic_tokenizer, subword_tokenizer, model_dir=PosixPath('/home/is/ujiie/.cache/MedNERJ/pretrained'), normalizer=None)[source]¶ NER model
本体のモデルです. 基本的に,from_pretrained()を使用してインスタンスを生成してください.
Examples
インスタンスの生成:
from medner_j import Ner model = Ner.from_pretrained()
- Parameters
label_vocab (dict) – {label:label_idx, …}
itol (dict) – {label_idx: label, …}
basic_tokenizer (callable) – 単語分割用トークナイザ
subword_tokenizer (callable) – サブワード分割用トークナイザ
model (nn.Module) – BertCrfモデル
normalizer (callable) – 単語正規化関数
-
classmethod
from_pretrained
(model_name='BERT', normalizer='dict')[source]¶ 学習モデルの読み込み
学習済みモデルを読み込み,Nerインスタンスを返します. 学習済みモデルがキャッシュされていない場合,~/.cacheにモデルのダウンロードを行います. ダウンロード先を指定したい場合は環境変数DEFAULT_CACHE_PATHで指定してください.
- Parameters
model_name (str) – モデル名.現バージョンはBERTのみしか実装していません.
normalizer (str or callable) – 標準化方法の指定.dict or dnorm.
- Returns
Nerインスタンス
- Return type
-
predict
(sents, output_format='xml')[source]¶ 病名抽出
文のリストを受け取り,病名を抽出するメソッド
- Parameters
sents (List) – 入力文のリスト
output_format (str) – 出力フォーマット.xml or dict(default: xml)
- Returns
出力のリスト
- Return type
List
出力フォーマット(xml):
["<C>脳梗塞</C>を認める."]
出力フォーマット(dict):
[{"span": (0, 3), "type": "C", "disease":"脳梗塞", "norm":"脳梗塞"}]