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

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

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

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

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

38631d95145a17c4ee6deb79ceecb3e8?s=128

高木祐介

October 06, 2021
Tweet

More Decks by 高木祐介

Other Decks in Technology

Transcript

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

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

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

    https://ideabox.smartcity-takamatsu.jp/ ※みえDXアイデアボックス(三重県) https://idea-mie.jp/
  4. None
  5. None
  6. None
  7. アイデアボックス2.0開発推 進中! 無償半年間で使ってもらえ る団体さんを10団体程度募 集してます。 現在政府・自治体含め、6団 体から問い合わせを頂いて います。 Slackやメールで是非申し込 みください。

    ※アイデアボックス https://ideabox.automation.jp/ DX・スマートシティ推進!政府・自治体にデジタル庁でも採用された政策検討プラットフォーム『アイデアボ ックス』を半年無償貸与!申し込み続々! https://prtimes.jp/main/html/rd/p/000000015.000067480.html
  8. 気を取り直して本題に ※サミットと同じ流れ

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

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

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

    99.9%以上 データ項目数 業界最大 法人コード,施設コ ード付与によるデ ータ更新 ミーカンパニーとは
  12. © Automation Co., Ltd. 12 14/10/2021 データだけ販売しても使い方が分からないとか、 どんなデータがあるのか教えて欲しいと言われ るので、要望を頂いた切り口でデータを集めて きて、分析するような業務を行ってます。

  13. 公的機関 厚生労働省 都道府県 (市区町村・保健所等) 公的な公開情報をプログラムで収集・一元化。 さらに、データ提供先からのフィードバックを元に情報を強化。 (市区町村・保健所等) 情報収集 予約システム会社 医療系人材紹介会社

    医療機器メーカー 医療機関 調剤薬局 介護事業所 SCUEL Projectパートナー 電話健康相談サービス 一般利用者 患者団体 医療・調剤・介護サービサー ・・等 検索プロバイダ 調査 入力 入力 入力 SCUEL Projectパートナー データ活用 指摘 病院の HP 技術的に面倒なポ イント データベース事業:開発方法
  14. 取り込むデータ 実例 Excel(CSV)

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

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

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

  18. • 統一的なデータベースはなく、必要な情報が散逸 • データを作っている主体が違うので、形式もバラバラ • 特にPDF形式、画像形式が辛い そして ユニークキーが • 【非公開】

    • 【割と変わる】 • 【使いまわされる】 • 【発番ルールが公開ルールと違う】 18 ※介護データ自治体収集リストの一部 1行に対してデータセットが1件あります。 これを収集、確認、取り込んでいきます。自治体は全国で1800あり、収集データは膨大。
  19. そんなわけで毎日データと向き合う修行の 日々を過ごしております。 サミットの延長戦として 引きつづき オープンデータとお客様データを供養して 法人番号を付与する業務 を行っている時の話をします。

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

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

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

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

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

  25. • APIデータ • 1件づつリクエスト メタ情報 データ 愚痴 その2 出来れば メタ情報とデータは分けてほしい。

    愚痴 その3 可能なら、資料を見ないでいいよう に、項目名を追加して欲しい
  26. 地獄ポイントその1 データカタログが整備されており、シンプ ルなデータ形式にまとまっていれば収集は 簡単。 情報がどこにあるかわからない事も多い。 事前申請しないと情報が収集できない場合 があるし、場合によっては紙しかスキャン させてもらえない時もある。 API形式の場合は使いやすくて柔軟だが、開 発が発生する可能性を考慮すること。

    ※今回の場合、法人番号データ分、600万回 APIを実行して最新化しました。
  27. • お客様データ • 3部署からのお客様データを受領

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

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

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

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

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

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

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

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

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

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

  38. データ利活用が簡単ではないケース解説 データ形式の問題-画像形式の地図データ 検討ポイント ・ コスト ・納期をかけてでもデータ処理対象とするか?しないか? 一度画像になった地図から緯度経度に変換するのは非常に難しい。 一度画像になった地図からポリゴンを起こすことは非常に難しい。 ※例外的に市区町村、一部の町目については、国土地理院の情報からポリゴンを作成可能。

  39. データ利活用が簡単ではないケース解説 データ形式の問題-情報提供頻度が違う 検討ポイント ・ データ更新タイ ミングを合わせるか?更新されないデータがあるとして提供するか? 墨田区 町丁別年齢別人口 四半期 文京区

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

    年齢別情報あり
  41. データ利活用が簡単ではないケース解説 データ形式の問題-データ構造が違う 検討ポイント ・縦持ちに変換可能な形式か? ・ コスト ・納期をかけてでもデータ処理対象とするか?しないか? クロス集計構造 クロス集計構造

  42. データ利活用が簡単ではないケース解説 データ形式の問題-情報の粒度が違う 検討ポイント ・ レコード単位が荒いデータレコードに合わせてデータを集約するか? ( 名寄せ作業) 病 院 と

    介 護 施 設 で レ コ ー ド 単 位 が 違 う
  43. 地獄ポイントその5 ファイル形式が違うたびに ① データ形式が違う ② 画像形式の地図データ ③ 情報提供頻度が違う ④ データ構造が違う

    ⑤ 項目の有無が違う ⑥ 情報の粒度が違う という問題が付きまとう。 ファイル毎にこういった処理が必要
  44. データ利活用までのフローをおさらい 収集 形式変換 クレンジング 利用

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

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

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

  48. 不要な文字列の混入

  49. 住所がない

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

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

  52. 氏名、法人名、事業所名変換 • 姓、名分割名前形式を、名前1項目に統合 • 田中 太郎 → 田中太郎 • 一部の省略ケース

    • 株)自動処理 → 株式会社自動処理 自動変換可能パターン例 • 正しい漢字が分からない。 • 高木祐介という名前について、髙木祐介が正しかったとしても自動変換は出 来ない。 • 姓名分割の分割場所がわからない。 • 田中太郎 →田中 太郎 (田中 苗字ランキング 4位) • 田中太郎 →田 中太郎 (田 苗字ランキング 8,074位) • 複数パターンある省略 • 医) →医療法人、医療法人社団、医療法人財団のどれか • 山大 →山口大学か山形大学のどちらか 自動変換困難パターン例
  53. 電話番号変換 •形式変換 •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 自動変換困難パターン例
  54. 住所変換 • 住所形式違い • 東京都豊島区東池袋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%前後)付与 • 名称変更・市区町村合併の対応 自動変換可能パターン例
  55. 住所変換 •一丁目の一がハイフンになっている •東京都中央区築地一丁目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 (郵便番号や意味のない数字が含まれている) 自動変換困難パターン例
  56. 対応困難ケース 対応が困難なケース-表記ゆれが存在する

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

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

    マルマツ薬局 九段 店 事業所名 店舗名 参考)店舗名がないケースが混在している
  59. 対応困難ケース 対応が困難なケース-1つの項目に複数の同じ意味のデータが格納されてい る

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

  61. 対応困難ケース 対応が困難なケース-誤った情報が含まれている 日本赤十字社の代表として公開されている 代表者名 8パターン 近藤忠煇 ← 誤字 近藤忠輝 ←

    誤字 近衛忠 ← 誤字・文字欠け 近衛忠煇 ← 誤字 近衛忠輝 ← 誤字 近衞忠 ← 文字欠け 近衞忠煇 ← 正解 近衞忠輝 ← 誤字 誤ったコードが公開されているパターン 2018年08月データ 2870022070 ◦◦ スイート◦◦一番 2870022120 ◦◦ケアセンター◦◦一番 2018年09月データ 2870022120 ◦◦ スイート◦◦一番 2870022070 ◦◦ケアセンター◦◦一番 2018年10月データ 2870022070 ◦◦ スイート◦◦一番 2870022120 ◦◦ケアセンター◦◦一番
  62. 対応困難ケース 対応が困難なケース-IDが再利用されている 医療機関Aが 新規開業届出 県毎の事務所が 受付 地方厚生局が公開 医療機関Aが 開業辞退を届出 県毎の事務所が

    受付 地方厚生局が公開 医療機関Bが 新規開業届出 2870021080 を採番 2870021080 が無効 空き番になった 2870021080を採番 2019年11月30日公開 医療機関Aと医療機関Bに 同じ医療機関番号が付いて公開された この場合、医療機関Aが 2870021080 として公開されたことは誤りだったこ とになる。
  63. 対応困難ケース 対応が困難なケース-名寄せをする為のID(番号)を判別する情報が存在しない 名称・住所がほぼ同じで別法人番号 建物ありなしで別法人番号 法人名の大文字小文字違いで別法人番号 名称・住所が同一で別法人番号

  64. 対応困難ケース-その他 データの意味を表す表側が 空白のレコードが存在する。 同上や〃などを利用して 別セルを指示する繰り返し文字がある 土地区画整理事業内など住所が未確定な場合がある 項目に対応しない文字列が格納されている。 その他 メタデータ ・データの主幹の記載がない為、どこに問い合わせしていいかわか

    らない。 ライセンス ・ライセンスの記述がない為、どこまで自由に使っていいのかわか らない。 あり・なしで回答されている ・ホームページURLを記入する個所に『あり』と記載されている チェックデジットが正しくない
  65. 地獄ポイントその∞ 入力時点で標準化されていないデー タを後から直すのは大変なので、最 初に標準化して、入力時点チェック をしましょう。 クレンジングは抽象化して整理しず らい為、あまり資料化されたものは 見たことはありませんが、ファイル 単位ではなく、レコード単位の処理 であるクレンジングこそ本当の地獄

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

    ※半角全角変換、 JIS3水準文字→ JIS1水準文字 名前正規化 田中太郎 ↓ 田中 太郎 ※姓名分離 住所正規化 あ茨木県白井二千九十の20 ↓ 茨城県 つくば市 臼井 2090 - 20 ※不正な文字列混入、住所分離、 市区町村名補完、誤字修正 電話番号正規化 8831111 ↓ 029-883-1111 ※形式統一、市外局番補完 瀨
  67. 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支援機能 • 機械学習(訓練) • 機械学習(評価) • 機械学習(実行)
  68. データ利活用までのフローをおさらい 収集 形式変換 クレンジング 利用

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

    データを供養して、初めてデータが利 用できるのですから。。。。
  70. ご清聴ありがとうございました。 アイデアボックスに関する問い合わせは info@automation.jp まで