課題(Before)
医療系サービスでは「診療科で絞り込めるクリニック一覧を作りたい」という要望がよく出てきます。しかし政府が公開している医療機関データを実際に見てみると、診療科の表記が施設ごとにバラバラでした。「内」「内科」「一般内科」のように同じ診療科でも表記が異なるだけで別の科として扱われてしまったり、「胃腸科」と「消化器内科」のように呼び方自体が違うケースもあります。対象は埼玉・千葉・神奈川の3県、施設数にして約14,869施設、データ行数にして59,569行にのぼり、これをすべて人手で確認・統一しようとすると、1行あたり0.5分と見積もっても約496時間かかる計算でした。
作ったもの
データの行そのものをAIに渡すのではなく、「どんな略称が何種類あるか」という語彙の一覧(826種類)だけをAIに渡し、正式名称への変換辞書を生成させました。施設名や住所、施設と略称の対応関係といった個別の情報はAIに送信していません。生成された変換辞書をローカルのプログラムに適用することで、59,569行のデータへ自動的に反映しています。機械的な判断が難しい略称(78種類)は自動変換の対象から外し、人の目で個別に確認する形にしました。
結果(After)
59,569行のうち16,903行(28.4%)を自動変換で標準化できました。たとえば「内 消 循」という表記は「内科 消化器内科 循環器内科」に統一されます。残りの行についても、変換辞書を拡充していくことで自動化の範囲を広げていける設計です。
使用技術
Python(pandasによるデータ処理)、AI(語彙一覧からの変換辞書生成)、政府公開の医療機関データ。
一言コメント
本制作例は政府公開データのみを用いたサンプル実装です。実データそのものではなく「表記のバリエーション一覧」だけをAIに渡すことで、情報を外部に渡さずに大量データの表記統一が行える設計にしています。同様の仕組みは、社内に蓄積されたデータの名寄せ・表記統一にも応用できます。