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. アイデアボックス2.0開発推 進中! 無償半年間で使ってもらえ る団体さんを10団体程度募 集してます。 現在政府・自治体含め、6団 体から問い合わせを頂いて います。 Slackやメールで是非申し込 みください。

    ※アイデアボックス https://ideabox.automation.jp/ DX・スマートシティ推進!政府・自治体にデジタル庁でも採用された政策検討プラットフォーム『アイデアボ ックス』を半年無償貸与!申し込み続々! https://prtimes.jp/main/html/rd/p/000000015.000067480.html
  2. 公的機関 厚生労働省 都道府県 (市区町村・保健所等) 公的な公開情報をプログラムで収集・一元化。 さらに、データ提供先からのフィードバックを元に情報を強化。 (市区町村・保健所等) 情報収集 予約システム会社 医療系人材紹介会社

    医療機器メーカー 医療機関 調剤薬局 介護事業所 SCUEL Projectパートナー 電話健康相談サービス 一般利用者 患者団体 医療・調剤・介護サービサー ・・等 検索プロバイダ 調査 入力 入力 入力 SCUEL Projectパートナー データ活用 指摘 病院の HP 技術的に面倒なポ イント データベース事業:開発方法
  3. • 統一的なデータベースはなく、必要な情報が散逸 • データを作っている主体が違うので、形式もバラバラ • 特にPDF形式、画像形式が辛い そして ユニークキーが • 【非公開】

    • 【割と変わる】 • 【使いまわされる】 • 【発番ルールが公開ルールと違う】 18 ※介護データ自治体収集リストの一部 1行に対してデータセットが1件あります。 これを収集、確認、取り込んでいきます。自治体は全国で1800あり、収集データは膨大。
  4. • APIデータ • 1件づつリクエスト メタ情報 データ 愚痴 その2 出来れば メタ情報とデータは分けてほしい。

    愚痴 その3 可能なら、資料を見ないでいいよう に、項目名を追加して欲しい
  5. 地獄ポイントその5 ファイル形式が違うたびに ① データ形式が違う ② 画像形式の地図データ ③ 情報提供頻度が違う ④ データ構造が違う

    ⑤ 項目の有無が違う ⑥ 情報の粒度が違う という問題が付きまとう。 ファイル毎にこういった処理が必要
  6. 氏名、法人名、事業所名変換 • 姓、名分割名前形式を、名前1項目に統合 • 田中 太郎 → 田中太郎 • 一部の省略ケース

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

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

    受付 地方厚生局が公開 医療機関Bが 新規開業届出 2870021080 を採番 2870021080 が無効 空き番になった 2870021080を採番 2019年11月30日公開 医療機関Aと医療機関Bに 同じ医療機関番号が付いて公開された この場合、医療機関Aが 2870021080 として公開されたことは誤りだったこ とになる。
  12. 対応困難ケース-その他 データの意味を表す表側が 空白のレコードが存在する。 同上や〃などを利用して 別セルを指示する繰り返し文字がある 土地区画整理事業内など住所が未確定な場合がある 項目に対応しない文字列が格納されている。 その他 メタデータ ・データの主幹の記載がない為、どこに問い合わせしていいかわか

    らない。 ライセンス ・ライセンスの記述がない為、どこまで自由に使っていいのかわか らない。 あり・なしで回答されている ・ホームページURLを記入する個所に『あり』と記載されている チェックデジットが正しくない
  13. 前処理基盤とは 名前、住所、電話番号等の文字列を自動で 形式の統一、情報の補完、誤入力の訂正 など処理をMySQLのユーザー定義関数で一括実行する仕組み で、毎日やるとめちゃくちゃ面倒だったので ミーカンパニーでは前処理基盤をGo言語で作って、Mysqlから呼び出せるようにしています。 文字表記ゆれ対応 ハッピ-加 ↓ ハッピー加瀬

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