見出し画像

AIに学習させるデータについて その四

その参の更新から1日更新が飛んでしまいました。(土日除く)

前回はAIに学習させる情報元となるDBからの取り出し方について記事にしましたが、その後サブマリン状態になっております。
何をしているかと申しますと、取り出した情報には、残念なことに人名や電話番号などが収まっております。
これらの情報を”●●"などでマスクをして活用したい。

その弐で使ったPythonシェルですが、完全網羅とはいかないことがわかりました。改善を図らないといけませんので、プロンプトへ再三聞いてみましたが、なかなか思うようにはいかないものです。
Python使いであれば楽勝なのだろうと思いつつ、あくまでも利用者目線で突っ走ってます。

人名のところはGiNZAを使うように環境とシェルを準備しつつ、もう1つの課題である電話番号のマスク。こちらも下記のシェルでマスクができたようです。

import pandas as pd
import re

# CSVファイルの読み込み
df = pd.read_csv('sample2.csv')

# 電話番号をマスキングする関数
def mask_phone_numbers(text):
    # さまざまな電話番号形式に対応する正規表現
    phone_pattern = r'[\(]{0,1}[0-9]{2,4}[\)\-\(]{0,1}[0-9]{2,4}[\)\-]{0,1}[0-9]{3,4}'
    return re.sub(phone_pattern, "****-****-****", str(text))

# 'field1'列が存在する場合のみ、電話番号をマスキング
if 'field1' in df.columns:
    df['field1'] = df['field1'].apply(mask_phone_numbers)

# 'field2'列が存在する場合のみ、電話番号をマスキング
if 'field2' in df.columns:
    df['field2'] = df['field2'].apply(mask_phone_numbers)

# 'field3'列が存在する場合のみ、電話番号をマスキング
if 'field3' in df.columns:
    df['field3'] = df['field3'].apply(mask_phone_numbers)

# マスク後のデータを新しいCSVファイルに保存
df.to_csv('masked_sample2.csv', index=False)

一応20MB近いCSVファイルの各field1、2、3の中にある電話番号はこれでさくっと「****-****-****」に変換されます。
時間にして10秒ちょっと。
ちなみにこのシェルの前に作ってもらったものが、エラーを吐いてしまいったので、エラー内容をプロンプトへ入力し、出てきたものがこれです。

気づき
「エラーをしげしげと理解しようせず、プロンプトへ。」

(自社サービス紹介)
ワーカーネットでは自動化と機能簡素化で1名1日、勤務時間問わずで利用料500円となっておりますが、シスプロ・ワーカーズプロレギュラーでは、雇用管理を含めきめ細やかな管理ができる日々紹介サービスです。

この記事が参加している募集