本文へ移動
← 記事一覧へ

解説・作例 · データ整理 ·

CSVの表記揺れをAIと探す:統一候補と別物を分ける

部署名の作例で、統一する組と保留する組を分け、元のIDと行を残す。

この記事の目次

CSVの部署名に「開発1課」「開発1課」「開発一課」が混ざっている。集計前に揃えたいところですが、似ている文字をまとめるだけでは、別部署や旧名称まで同じ扱いにするおそれがあります。

この記事は、名簿や業務一覧の表記を整える人向けです。AIには統一後のCSVではなく、統一してよいか判断する対応表を作ってもらう案を扱います。次の入力と出力は架空の作例です。名寄せの精度や工数の削減を実測したものではありません。

文字が似ていることと、同じ対象であることを分ける

OpenRefineの公式ドキュメントでは、文字列が似た値を候補として提示し、利用者が承認した統合だけを適用する仕組みを説明しています。編集距離の例でも、別人を似た名前として拾う誤りが示されています。Cell editing:Cluster and edit

この「候補を出す」と「変更を採用する」の分離を、AIでの整理にも使います。OpenRefineがAIの判断を保証するという意味ではありません。表計算の置換だけで済む規則的な違いなら、それを優先して構いません。

作例:部署名だけを候補にする

まず原本を残し、IDと対象列を抜き出します。この作例ではIDは文字列で、先頭のゼロも意味のある値として扱います。

row_id,department
0012,開発1課
0013,開発1課
0014,開発一課
0015,開発2課
0016,開発1課(旧)

AIに渡すのは、この値の一覧と「対象は部署名だけ」「IDは変更しない」「名称が同じ部署か分からなければ保留」という条件です。辞書や正式な部署一覧があるなら、それも版を明示して添えます。

対象ID 元の値 統一候補 候補にした理由 採用前の確認
0012・0013 開発1課/開発1課 開発1課 数字の全角・半角の違い 正式表記と既存の集計規則
0014 開発一課 開発1課 漢数字の表記違いの可能性 正式一覧で同じ部署か確認
0015 開発2課 変更なし 番号が異なる 開発1課へ統合しない
0016 開発1課(旧) 保留 旧組織を示す可能性 対象期間と部署の履歴

全角・半角の組も、候補が出ただけでは原本を上書きしません。正式名称が「開発1課」なら、採用する方向は反対になるかもしれません。名称が同じでも、部署コードが異なる別組織なら、コードごとに扱います。

決まった対応だけを、元データへ適用する

この架空の確認で、0012と0013だけが同一部署だと確認できたとします。適用する対応表は「開発1課→開発1課」の一組です。0014と0016は残し、理由付きの保留一覧を担当者へ渡します。

更新後は、行数が5件のままか、IDがすべて残っているか、変更が承認した列・値だけかを比べます。元の値、変更後の値、判断根拠を別に保存すれば、どの変換を戻すかも特定できます。文字列のCSVを表計算ソフトで開く際も、IDが数値に変わらない取込設定を確認します。

表記の統一と、行の重複削除は別の処理です。 同じ部署名の行が二つあるからといって、同じ人や同じ申請とは限りません。この作業では行を削除しません。

候補が危ない方へ広がっていないかを見る

反例として、「営業部」と「営業企画部」、「A-1」と「A1」、「0012」と「12」を入れてみます。記号やゼロを取れば似た文字になっても、業務上は別の名称・コードかもしれません。空欄を、前の行の部署名で埋める出力も、この依頼の範囲外です。

候補を確認するときは、似た値をまとめ忘れた件数だけでなく、別物をまとめようとした箇所を数えます。正式な対応が分からないものは正解・不正解へ無理に入れず、保留のまま扱います。

大量のデータを扱う場合は、まず対象列の値と出現回数を集め、候補表を点検してから承認した変換を再現可能な処理へ移します。AIへ毎回CSV全体を書き直させる形にはしません。個人名や顧客情報を含む原本は、利用できる環境と取扱いルールに合わせて範囲を決めます。

最初に作る成果物は、整った表よりも、直す組・残す組・確認する組が分かる対応表です。それがあれば、担当者が判断した範囲だけを変更できます。

名称を入力する画面も見直すなら、フォームのエラー表示で、利用者が自分で直せる案内を考えられます。

文字の統一ではなく相談の話題を整理したい場合は問い合わせの仕分け、判断理由を資料へ戻したい場合は主張と根拠の照合も参考になります。

Loading...