生き抜くぜ21世紀

統計?機械学習?っぽいことを書く

姓名分割プログラムをつくる-NameDivider利用マニュアル-

NameDIviderの利用マニュアルです。

DivideのことをDevideだと信じ込んでいたのでリポジトリ名から変更するという門出を迎えたわけですが、気を取り直していきましょう。

理論とかは訂正編手法編をご覧ください。

 

※ 追記

2020.11にPythonパッケージを作りました。

https://github.com/rskmoi/namedivider-python

記事にもして頂きました。

https://internet.watch.impress.co.jp/docs/yajiuma/1289735.html

エンジニアの方にはこちらをおすすめしています。合わせてぜひ。

 

どんなことができるの?

ざっくりいうと、苗字と名前の間にスペースが入っていない名前を苗字と名前に分けることができます。

篠田麻里子」を入力すると、「篠田 麻里子」が出力されるイメージです。

もちろん全部分かれ目を当てることはできませんが、簡単な統計を使って(意地でも人工知能とはいわないぞ)99%程度の精度で分割することができます。

詳しくできることを説明すると、

  • お試しで姓名分割を体感
  • テキストファイルに入っている名前データを読み込み、苗字と名前に分けてtxtファイルに出力
  • ↑を行った後、苗字の分かれ目である確信度が低い順にソートを行う(これがあると、目視で確認するとき楽かなーと思っています)
  • その他開発者用ツール

が入っています。このページの下のほうに詳しい使い方を書いてあります。

 

どんな時に使えるの?

  • 苗字と名前の間にスペースが入っていないデータを苗字と名前に分ける作業を大量に行わなければならないとき
  • ひまつぶし

ダウンロード方法は?

githubで公開しています。

GitHub - rskmoi/NameDivider

f:id:rskmoi:20170320210308p:plain

赤く囲ってあるところをクリック→Download ZIPでダウンロード完了。

適当に解凍してください。

起動方法

[NameDivider]→[confirmpg]→[bin]→[Release]の順に開き、最後にconfirmpg.exeをダブルクリック

f:id:rskmoi:20170320225519p:plain

こんな画面が出てきたらOKです。

今気づいたんですけど姓名分離くんってなんなんですかね。名前をはるか昔につけていたようですがNameDividerでいきます。

コマンド

test

コマンド操作になれていない人は申し訳ありませんが本アプリはコマンド操作をしないと動いてくれません。そんなに難しい操作はないのでちょっと頑張ってみてください。

testと打つとお試しができます。暇つぶしに遊んでみてください。

f:id:rskmoi:20170320230126p:plain

このプログラム、ののたは間違えます 

やめたくなったら

quit

と打ってください。

divide

メイン機能です。

まずは、以下のように名前データを揃えてみてください。

で準備するとうまくいきます。

f:id:rskmoi:20170320230417p:plain

これ以降の作業で注意なのですが、絶対に使用するファイルはバックアップを取っておいてください。何かあっても私は責任を負えませんので。。

さて、次にdivideとコマンドを打ってみてください。

ファイルのパス名を入力してくださいと出てくるはずです。

パス名というのはわからない方にはとても難しいですよね。。

何も考えずにファイルをドラッグアンドドロップするとパス名が入力されます。

すみませんこの辺がわからない人はググってみてください。

f:id:rskmoi:20170320231144p:plain

そしてEnterを押します

f:id:rskmoi:20170320231319p:plain

正常に終了しましたってどういうことだよ!!と言いたくなるかもしれません。すみません。

[NameDivider]→[confirmpg]→[biin]→[Release]の中に[NameDivideResult~]みたいなファイルができているはずなのでそれをダブルクリックすると、、、

f:id:rskmoi:20170320231526p:plain

苗字と名前が分かれてるやつが誕生!

あとはこれを煮るなり焼くなりしてください。

divide -c

-cってなんだよって思った人はまあオプションみたいなものと思っておいてください。

これを使うと、このプログラムが「ここで区切るのか自信ねえなあ。。。」って言ってる名前が上のほうに来ます。

すると、上のほうを重点的に人の目でチェックすればよいので集中力を保ったまま目視で検査ができる!というねらいです。

基本的にやることはdivideと変わりません。

f:id:rskmoi:20170320232213p:plain

難しそうな名前が上に来ているのがお分かりいただけますでしょうか?

ちなみに左の数字は元の並び順の番号なので、ソートを戻すときなどにお使いください。

開発者用コマンドはまた次の機会にしましょう。

みなさんガンガン使っていただければと思います。

 

最後に

以上となります。

なにかありましたらコメント欄など何かしらの形でお知らせください。

クソコードの自覚はあるのでちょいちょいアップデートはしていくつもりです。