Fakerを使ってダミー個人情報を作ろうとすると、それぞれの項目がランダムで生成されるので、
from faker import Factory
fac = Factory.create('ja_JP')
print(fac.first_name())
print(fac.first_kana_name())
康弘
リカ
となり、漢字名と、カナ名が一致しない。
なので、形態素解析ライブラリのjanomeを使って、漢字の読みをカナ名として使用する。
from faker import Factory
from janome.tokenizer import Tokenizer
fac = Factory.create('ja_JP')
first_name = fac.first_name()
print(first_name)
tk = Tokenizer()
tokens = tk.tokenize(first_name)
for token in tokens:
print(token.reading, end="")
これで、
篤司
アツシ
となるので良かったと思ったら、
陽子
ヨウシ
のように、間違ってはないけどちょっと惜しいケースや
裕太
ヒロシフトシ
のように、裕がヒロシで、太がフトシと判断されるケースが出てしまう
下記の事例にあるように、人名辞書を用意して読み込ませれば、もうちょっとまともな結果が出るかと思うけど、
フリガナを自動入力する
ダミーデータなので、そこまで精度は求めていないしなぁということで、とりあえずここまで。
あとは、下記の様なダミー情報データを生成するサービスからデータをダウンロードして、それをランダムで抽出するという手も。
https://hogehoge.tk/personal/
import pandas as pd
import random
df = pd.read_csv('personal_infomation.csv') # https://hogehoge.tk/personal/ からダウンロードしたcsvを読み込み
no = random.randint(0, len(df)-1) # ランダムで行番号を取得
name = df.iloc[no, 1] # 2列目 氏名
kana_name = df.iloc[no, 2] # 3列目 氏名(カタカナ)
print(name)
print(kana_name)
戸塚和香
トツカワカ