Upgrade to Pro — share decks privately, control downloads, hide ads and more …

01_新月の夜はデータ供養会〜第一夜〜

 01_新月の夜はデータ供養会〜第一夜〜

Code for Japan Summit2021の延長戦として、オープンデータ活用までの困難さを1時間プレゼンさせて頂きました。5年間のクレンジングについてのノウハウを詰め込んでいますので、データ処理に悩んでいる方の気づきになればと思っています。

新月の夜はデータ供養会 第一夜
https://youtu.be/sRgSoJPVJDY

高木祐介

October 06, 2021
Tweet

More Decks by 高木祐介

Other Decks in Technology

Transcript

  1. この世の無限地獄はオープン
    データ活用への道のりにあり
    -サミット2021延長戦
    新月の夜はデータ供養会〜第一夜〜
    株式会社自動処理
    株式会社ミーカンパニー CDO
    コードフォージャパン フェロー
    高木 祐介

    View full-size slide

  2. 自己紹介
    高木祐介
    意見募集プラットフォームである
    アイデアボックスの
    株式会社自動処理 代表取締役
    病院薬局介護施設など医療系の
    オープンデータを取引先マスタデータに
    仕立て直して販売する狂気の会社
    ミーカンパニー CDO

    View full-size slide

  3. 少しだけ告知をさせて下さい。
    現在、デジタル庁さん、三重県さ
    ん、高松市さんに、
    意見募集プラットフォームである
    アイデアボックスを使っていただ
    いています。
    告知!
    ※デジタル改革アイデアボックス(内閣官房) https://ideabox.cio.go.jp/
    ※たかまつアイデアFACTORY(高松市) https://ideabox.smartcity-takamatsu.jp/
    ※みえDXアイデアボックス(三重県) https://idea-mie.jp/

    View full-size slide

  4. アイデアボックス2.0開発推
    進中!
    無償半年間で使ってもらえ
    る団体さんを10団体程度募
    集してます。
    現在政府・自治体含め、6団
    体から問い合わせを頂いて
    います。
    Slackやメールで是非申し込
    みください。
    ※アイデアボックス https://ideabox.automation.jp/
    DX・スマートシティ推進!政府・自治体にデジタル庁でも採用された政策検討プラットフォーム『アイデアボ
    ックス』を半年無償貸与!申し込み続々!
    https://prtimes.jp/main/html/rd/p/000000015.000067480.html

    View full-size slide

  5. 気を取り直して本題に
    ※サミットと同じ流れ

    View full-size slide

  6. みなさん供養してますか?

    View full-size slide

  7. 私はミーカンパニー株式会社にて、
    オープンデータを供養する事を仕
    事にしています
    =地獄

    View full-size slide

  8. 全国の医療機関・薬局・介護事業所の事業所・法人マスタ情報を
    開発、法人向けにライセンス販売・メンテナンスを行っている会社です。
    ちなみに弊社のお客様には
    世界トップクラスの医薬品メーカー、医療機器メーカー、医療人材
    紹介企業・・など大手企業多数
    国内海外問わず会社が数多くいらっしゃいます。
    開業、閉院情報
    など全国のデー
    タを月次反映
    全国カバー率
    99.9%以上
    データ項目数
    業界最大
    法人コード,施設コ
    ード付与によるデ
    ータ更新
    ミーカンパニーとは

    View full-size slide

  9. © Automation Co., Ltd. 12
    14/10/2021
    データだけ販売しても使い方が分からないとか、
    どんなデータがあるのか教えて欲しいと言われ
    るので、要望を頂いた切り口でデータを集めて
    きて、分析するような業務を行ってます。

    View full-size slide

  10. 公的機関
    厚生労働省 都道府県
    (市区町村・保健所等)
    公的な公開情報をプログラムで収集・一元化。
    さらに、データ提供先からのフィードバックを元に情報を強化。
    (市区町村・保健所等)
    情報収集
    予約システム会社 医療系人材紹介会社
    医療機器メーカー
    医療機関 調剤薬局 介護事業所
    SCUEL Projectパートナー
    電話健康相談サービス
    一般利用者
    患者団体
    医療・調剤・介護サービサー
    ・・等
    検索プロバイダ
    調査
    入力
    入力
    入力
    SCUEL Projectパートナー
    データ活用
    指摘
    病院の
    HP
    技術的に面倒なポ
    イント
    データベース事業:開発方法

    View full-size slide

  11. 取り込むデータ 実例 Excel(CSV)

    View full-size slide

  12. 取り込むデータ 実例 HTML

    View full-size slide

  13. 取り込むデータ 実例 PDF

    View full-size slide

  14. 取り込むデータ 実例 紙・画像

    View full-size slide

  15. • 統一的なデータベースはなく、必要な情報が散逸
    • データを作っている主体が違うので、形式もバラバラ
    • 特にPDF形式、画像形式が辛い
    そして
    ユニークキーが
    • 【非公開】
    • 【割と変わる】
    • 【使いまわされる】
    • 【発番ルールが公開ルールと違う】
    18
    ※介護データ自治体収集リストの一部 1行に対してデータセットが1件あります。
    これを収集、確認、取り込んでいきます。自治体は全国で1800あり、収集データは膨大。

    View full-size slide

  16. そんなわけで毎日データと向き合う修行の
    日々を過ごしております。
    サミットの延長戦として
    引きつづき
    オープンデータとお客様データを供養して
    法人番号を付与する業務
    を行っている時の話をします。

    View full-size slide

  17. 法人番号付与とは?
    医療法人和三会
    北海道石狩市厚田区厚田30
    7430005012395
    法人番号公表サイトを調査
    お客様データ

    View full-size slide

  18. データ利活用までのフローをおさらい
    収集 形式変換 クレンジング 利用

    View full-size slide

  19. データ利活用までのフローをおさらい
    収集 形式変換 クレンジング 利用

    View full-size slide

  20. • 法人データ
    • 法人番号ポータルから情報をダウンロード
    • 月次データはCSV、ほぼリアルタイムデータ
    や詳細な履歴データはAPI
    ■ API処理の事前準備としてAPIキーの申
    請、発行

    View full-size slide

  21. • CSVデータ
    • 一括ダウンロード
    愚痴 その1
    可能なら、資料を見ないでいいように、
    項目名を追加して欲しい
    データ

    View full-size slide

  22. • APIデータ
    • 1件づつリクエスト
    メタ情報
    データ
    愚痴 その2
    出来れば
    メタ情報とデータは分けてほしい。
    愚痴 その3
    可能なら、資料を見ないでいいよう
    に、項目名を追加して欲しい

    View full-size slide

  23. 地獄ポイントその1
    データカタログが整備されており、シンプ
    ルなデータ形式にまとまっていれば収集は
    簡単。
    情報がどこにあるかわからない事も多い。
    事前申請しないと情報が収集できない場合
    があるし、場合によっては紙しかスキャン
    させてもらえない時もある。
    API形式の場合は使いやすくて柔軟だが、開
    発が発生する可能性を考慮すること。
    ※今回の場合、法人番号データ分、600万回
    APIを実行して最新化しました。

    View full-size slide

  24. • お客様データ
    • 3部署からのお客様データを受領

    View full-size slide

  25. • 部署Aからのデータ(Excel)
    • 部署Bからのデータ(Excel)
    • 部署Cからのデータ(Excel)
    データ形式については、全てExcelな為、特に問
    題なし。更新日時は統一されていない。

    View full-size slide

  26. 地獄ポイントその2
    データ管理がしっかりとしている組織からの
    情報収集は簡単。
    世の中に存在するデータのほぼ全ては、入力
    時点の部分更新データ。いつ時点データなん
    てものは利用先には存在しない。

    View full-size slide

  27. データ利活用までのフローをおさらい
    収集 形式変換 クレンジング 利用

    View full-size slide

  28. • 法人データ
    • 収集された法人のCSVデータを取り込む
    • 収集された法人のAPIデータを取り込む
    • APIにあれば更新、なければCSVをそのまま取り
    込む形でインポート

    View full-size slide

  29. データベースサーバーに取り込み

    View full-size slide

  30. 地獄ポイントその3
    機械可読性があれば、プログラムを
    作れれば変換は簡単。
    プログラムが作れないと、予算発生
    により地獄に変わる可能性もある。

    View full-size slide

  31. • お客様データ
    • Excelデータを統一的な利活用フォーマット
    に変換(マッピング)。
    • データベースにインポート

    View full-size slide

  32. データベースサーバーに取り込み

    View full-size slide

  33. 地獄ポイントその4
    読み取りがしやすいフォーマットで最初
    からもらう事が出来れば、インポートは
    簡単。
    様式がバラバラでデータ項目に差がある
    場合にはマッピングが大変なことも。
    全く違うフォーマットであり情報から項
    目名が推測できない場合は、問い合わせ
    が発生するが、項目の意味を担当が分か
    っていない場合、少し大変になるかも。

    View full-size slide

  34. データ利活用が簡単ではないケース解説
    データ形式の問題-データ形式が違う
    紙・PDF HTML
    CSV
    検討ポイント
    ・コスト・納期をかけてでもデータ処理対象とするか?しないか?特に紙からのデータ化についてはかなりコストがかかるので予算が必要。
    ・手作業にすればするほどデータについては誤入力と表記ゆれが発生する。手作業データが何を表しているのかを確認するにもかなりのコストが
    かかる。

    View full-size slide

  35. データ利活用が簡単ではないケース解説
    データ形式の問題-画像形式の地図データ
    検討ポイント

    コスト
    ・納期をかけてでもデータ処理対象とするか?しないか?
    一度画像になった地図から緯度経度に変換するのは非常に難しい。 一度画像になった地図からポリゴンを起こすことは非常に難しい。
    ※例外的に市区町村、一部の町目については、国土地理院の情報からポリゴンを作成可能。

    View full-size slide

  36. データ利活用が簡単ではないケース解説
    データ形式の問題-情報提供頻度が違う
    検討ポイント

    データ更新タイ
    ミングを合わせるか?更新されないデータがあるとして提供するか?
    墨田区 町丁別年齢別人口 四半期
    文京区 町丁別世帯・
    人口 月次
    ※不定期なケースも存在する
    文京区 墨田区

    View full-size slide

  37. データ利活用が簡単ではないケース解説
    データ形式の問題-項目の有無が違う
    港区 各総合支所管内別の町丁目別人口・世帯
    墨田区 町丁別・年齢別人口
    検討ポイント
    ・共通項をデータ項目として設定するか?空項目を想定してデータ項目として設定するか?
    ・問い合わせを行い、追加でデータを入力する事は可能か?
    年齢別情報なし
    年齢別情報あり

    View full-size slide

  38. データ利活用が簡単ではないケース解説
    データ形式の問題-データ構造が違う
    検討ポイント
    ・縦持ちに変換可能な形式か?

    コスト
    ・納期をかけてでもデータ処理対象とするか?しないか?
    クロス集計構造
    クロス集計構造

    View full-size slide

  39. データ利活用が簡単ではないケース解説
    データ形式の問題-情報の粒度が違う
    検討ポイント

    レコード単位が荒いデータレコードに合わせてデータを集約するか?

    名寄せ作業)

















    View full-size slide

  40. 地獄ポイントその5
    ファイル形式が違うたびに
    ① データ形式が違う
    ② 画像形式の地図データ
    ③ 情報提供頻度が違う
    ④ データ構造が違う
    ⑤ 項目の有無が違う
    ⑥ 情報の粒度が違う
    という問題が付きまとう。
    ファイル毎にこういった処理が必要

    View full-size slide

  41. データ利活用までのフローをおさらい
    収集 形式変換 クレンジング 利用

    View full-size slide

  42. • 法人データ・お客様データ
    • データ変換が終わると、データクレンジング工程に
    入る。

    View full-size slide

  43. 改めてデータ一つ一つを見てみまし
    ょう。

    View full-size slide

  44. 複数組織から情報を集めると重複しがち。
    運用ルールも違う事が多い。データ管理
    が甘いと単一組織でも重複する事がある。

    View full-size slide

  45. 不要な文字列の混入

    View full-size slide

  46. 住所がない

    View full-size slide

  47. 電話番号の形式が不統一

    View full-size slide

  48. • 他にもありますが、こういった形でデータに
    エラーがあった場合には、正常なデータに変
    換しないといけません。
    • データによって変換が必要になるので、この
    後、クレンジングケースを少し紹介します。

    View full-size slide

  49. 氏名、法人名、事業所名変換
    • 姓、名分割名前形式を、名前1項目に統合
    • 田中 太郎 → 田中太郎
    • 一部の省略ケース
    • 株)自動処理 → 株式会社自動処理
    自動変換可能パターン例
    • 正しい漢字が分からない。
    • 高木祐介という名前について、髙木祐介が正しかったとしても自動変換は出
    来ない。
    • 姓名分割の分割場所がわからない。
    • 田中太郎 →田中 太郎 (田中 苗字ランキング 4位)
    • 田中太郎 →田 中太郎 (田 苗字ランキング 8,074位)
    • 複数パターンある省略
    • 医) →医療法人、医療法人社団、医療法人財団のどれか
    • 山大 →山口大学か山形大学のどちらか
    自動変換困難パターン例

    View full-size slide

  50. 電話番号変換
    •形式変換
    •03-3543-021
    •033543021
    •(03)3543-021
    •033543021
    •国際番号変換
    •+81-3-3543-021
    •+81(3)3543-021
    自動変換可能パターン例
    •市外局番が欠落
    • 35430211
    (Excelなどで先頭の0の文字が欠けがちです)
    •不正な文字が混入
    •084-926-0139 日曜日・祝日は担当者携帯電話
    •複数電話番号が混入
    •0974-75-2124、もしくは、0974-42-2270
    自動変換困難パターン例

    View full-size slide

  51. 住所変換
    • 住所形式違い
    • 東京都豊島区東池袋3丁目1番1号サンシャイン60・43階・20号
    • 東京都豊島区東池袋3丁目1番1号サンシャイン60 4320号
    • 東京都豊島区東池袋3-1-1 サンシャイン60 4320号
    • 東京都豊島区東池袋サンシャイン60(43階)20号
    • 東京都豊島区東池袋サンシャイン60 F43 20号
    • 異体字変換
    • 宮城県塩釜市字杉ノ入裏39-176
    • 宮城県塩竃市字杉ノ入裏39-176
    • 宮城県塩竈市杉ノ入裏39-176
    • 緯度系譜度付与
    • 住所から郵便番号(90%前後)付与
    • 住所から緯度経度(70%前後)付与
    • 名称変更・市区町村合併の対応
    自動変換可能パターン例

    View full-size slide

  52. 住所変換
    •一丁目の一がハイフンになっている
    •東京都中央区築地一丁目1番1号
    •複数の書き方がある文字列
    •兵庫県加古川市上荘町井ノロ390ー2
    •兵庫県加古川市上荘町井野ロ390ー2
    •兵庫県加古川市上荘町井乃ロ390ー2
    •法人登記に存在する平成以前の旧住所
    •東京市小石川区久堅町91番地(東京市小石川区は現在の東京都文京区)
    •別の文字が利用されている
    •兵庫県加古川市上荘町井ノロ390ー2(ロの文字がカタカナ)
    •北海道北見市留辺蕊町旭公園95-4(蕊の文字が書き間違いで本来は蘂)
    •茨城県つくば市白井2090-20 (白の文字が書き間違いで本来は臼)
    •文字が欠けている
    •南区御幸笛田7丁目13-21(熊本県熊本市が欠けている)
    •静岡県浜松市浜北区貴布1200(貴布祢の祢が欠けている)
    •不正な文字が入力されている
    •〒305-0005 茨城県00000つくば市天久保2-1-1
    (郵便番号や意味のない数字が含まれている)
    自動変換困難パターン例

    View full-size slide

  53. 対応困難ケース
    対応が困難なケース-表記ゆれが存在する

    View full-size slide

  54. 対応困難ケース
    対応が困難なケース-誤った項目に情報が公開されている

    View full-size slide

  55. 対応困難ケース
    対応が困難なケース-誤った項目に情報が公開されている
    IMSグループ
    グループ名
    医療法人社団明芳会
    法人名
    イムス板橋リハビリテーション病院
    事業所名
    訪問リハビリテーション事業所
    サービス名業
    マルマツ薬局 九段

    事業所名 店舗名
    参考)店舗名がないケースが混在している

    View full-size slide

  56. 対応困難ケース
    対応が困難なケース-1つの項目に複数の同じ意味のデータが格納されてい

    View full-size slide

  57. 対応困難ケース
    徳島県小松島市坂野町
    字 橿 延50番地
    対応が困難なケース-外字、情報が欠けている
    橿 延神社
    縮退先のない外字
    途中までしか住所が格納されていない

    View full-size slide

  58. 対応困難ケース
    対応が困難なケース-誤った情報が含まれている
    日本赤十字社の代表として公開されている
    代表者名 8パターン
    近藤忠煇 ← 誤字
    近藤忠輝 ← 誤字
    近衛忠 ← 誤字・文字欠け
    近衛忠煇 ← 誤字
    近衛忠輝 ← 誤字
    近衞忠 ← 文字欠け
    近衞忠煇 ← 正解
    近衞忠輝 ← 誤字
    誤ったコードが公開されているパターン
    2018年08月データ
    2870022070 ○○ スイート○○一番
    2870022120 ○○ケアセンター○○一番
    2018年09月データ
    2870022120 ○○ スイート○○一番
    2870022070 ○○ケアセンター○○一番
    2018年10月データ
    2870022070 ○○ スイート○○一番
    2870022120 ○○ケアセンター○○一番

    View full-size slide

  59. 対応困難ケース
    対応が困難なケース-IDが再利用されている
    医療機関Aが
    新規開業届出
    県毎の事務所が
    受付
    地方厚生局が公開
    医療機関Aが
    開業辞退を届出
    県毎の事務所が
    受付
    地方厚生局が公開
    医療機関Bが
    新規開業届出
    2870021080
    を採番
    2870021080
    が無効
    空き番になった
    2870021080を採番
    2019年11月30日公開
    医療機関Aと医療機関Bに
    同じ医療機関番号が付いて公開された
    この場合、医療機関Aが
    2870021080
    として公開されたことは誤りだったこ
    とになる。

    View full-size slide

  60. 対応困難ケース
    対応が困難なケース-名寄せをする為のID(番号)を判別する情報が存在しない
    名称・住所がほぼ同じで別法人番号
    建物ありなしで別法人番号
    法人名の大文字小文字違いで別法人番号
    名称・住所が同一で別法人番号

    View full-size slide

  61. 対応困難ケース-その他
    データの意味を表す表側が
    空白のレコードが存在する。
    同上や〃などを利用して
    別セルを指示する繰り返し文字がある
    土地区画整理事業内など住所が未確定な場合がある
    項目に対応しない文字列が格納されている。
    その他
    メタデータ
    ・データの主幹の記載がない為、どこに問い合わせしていいかわか
    らない。
    ライセンス
    ・ライセンスの記述がない為、どこまで自由に使っていいのかわか
    らない。
    あり・なしで回答されている
    ・ホームページURLを記入する個所に『あり』と記載されている
    チェックデジットが正しくない

    View full-size slide

  62. 地獄ポイントその∞
    入力時点で標準化されていないデー
    タを後から直すのは大変なので、最
    初に標準化して、入力時点チェック
    をしましょう。
    クレンジングは抽象化して整理しず
    らい為、あまり資料化されたものは
    見たことはありませんが、ファイル
    単位ではなく、レコード単位の処理
    であるクレンジングこそ本当の地獄
    です。

    View full-size slide

  63. 前処理基盤とは
    名前、住所、電話番号等の文字列を自動で
    形式の統一、情報の補完、誤入力の訂正
    など処理をMySQLのユーザー定義関数で一括実行する仕組み
    で、毎日やるとめちゃくちゃ面倒だったので
    ミーカンパニーでは前処理基盤をGo言語で作って、Mysqlから呼び出せるようにしています。
    文字表記ゆれ対応
    ハッピ-加

    ハッピー加瀬
    ※半角全角変換、
    JIS3水準文字→ JIS1水準文字
    名前正規化
    田中太郎

    田中 太郎
    ※姓名分離
    住所正規化
    あ茨木県白井二千九十の20

    茨城県 つくば市 臼井 2090 - 20
    ※不正な文字列混入、住所分離、
    市区町村名補完、誤字修正
    電話番号正規化
    8831111

    029-883-1111
    ※形式統一、市外局番補完

    View full-size slide

  64. mecompany Inc. 67
    1.基礎データ正規化
    • 全角半角
    • 不要な空白削除
    • 異字体・同意体変換
    • JIS第3、第4水準変換
    • Unicode IVS対応
    • フォーマットの統一
    • 不要データの削除
    2.法人情報正規化
    • 法人番号付与
    • 法人格抜き出し
    • 法人名称統一
    • 名称変更法人確認
    • 移転法人確認
    • 閉鎖法人確認
    • 事業所、法人名称分割
    • 事業所カナ補完
    • 法人名カナ補完
    3.住所正規化
    • 郵便番号付与
    • 新旧郵便番号変換
    • 新旧住所変換・表記統一
    • 住所分割・補完
    • 住所カナ補完
    • 住所逆引き検索
    4.電話番号正規化
    • 市外局番付与
    • 電話番号形式統一
    • 架電確認
    • 電話番号逆引き検索
    5.HP・メール・ドメイン正規化
    • HPアドレス形式統一
    • メール形式統一
    • ドメイン形式統一
    • HP存在確認
    • メール存在確認
    • ドメイン存在確認
    6.緯度経度正規化
    • 測地系変換
    • 緯度経度補完
    9.信頼性確認
    • 住所・地番辞書による確認
    • 建物辞書による確認
    • 郵便番号辞書による確認
    • 電話番号辞書による確認
    • 姓名辞書による確認
    • 法人辞書による確認
    • 独自データ辞書により信頼
    性確認・補完
    7.姓名正規化
    • 姓名分割
    • 姓名カナ補完
    10.重複判定
    • 判定ロジックに基づいた
    重複判定確認
    • 名寄せコード発行処理
    11.Mysql機能拡張
    • カンマ区切りデータ抽出
    • 文字列比較処理
    • HTTPリクエスト
    • チェックデジット計算確認
    処理(Damm)
    • ログ出力
    • 正規表現検索(onigumo)
    • 正規表現置換(onigumo)
    • jsonパース処理(jq)
    8.施設名称正規化
    • 店舗名称分離
    • サービス名称分離
    こんな処理を実装してよりクレンジングが楽になるように開発を進めています。
    12.AI支援機能
    • 機械学習(訓練)
    • 機械学習(評価)
    • 機械学習(実行)

    View full-size slide

  65. データ利活用までのフローをおさらい
    収集 形式変換 クレンジング 利用

    View full-size slide

  66. ここまできてようやく利用になります。
    • そう我々の戦いはまだ始まってもいな
    かったのです。
    • プログラム開発の前に、
    データ分析の前に、
    業務を改善する前に、
    まずはデータの供養が必要です。
    • データを供養して、初めてデータが利
    用できるのですから。。。。

    View full-size slide

  67. ご清聴ありがとうございました。
    アイデアボックスに関する問い合わせは
    [email protected]
    まで

    View full-size slide