みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お久しぶりです。
無理なお願いになるかもしれないのですがお願いがあります。
今データを複数人で入力しているのですが、複数人で行う弊害と、自分が最初から制限かけなかったのがいけないのですが
名前フィールドの姓と名の間にスペースを入れるように口答でお願いしたのですが、かなりの数が入っていません。
数にして6000件弱あるのですがこれを新しくフィールドを設けて、姓は姓フィールド、名は名フィールドに振り分けたいのですが、
なにかいい方法はありませんか?
名前には姓が3文字、4文字の方も結構な数がいて、LengthやLeft、Rightみたいな文章だと全く区分けできませんでした。
また姓と名前合わせて2文字、3文字の方もいるのでどうしたよいかわかりません。
文字の長さでやろうとしているのがいけないのでしょうか?
そもそも無理なのではとおもっています。
どなたか可能であれば教えていただけるとたすかります。
Offline
姓名の間に何ひとつ区切りが入っていないなら諦めたほうが......
何か区切りがあるものはテキスト関数で処理できるので何も区切りが無いものを目視で処理しては?
6000件程度なら色々と方法を考えたりロジックを作っている間に複数人で手分けして姓名に分けたほうが早いと思いますよ。
Offline
区切りにカーソルを入れて、スクリプトトリガでスクリプト実行。
程度でしょうか。。
Offline
取りあえず、代表的な名字のみを抽出して、確認して一括処理、が良いのでは。
例えば、"田中" で検索して、田中一郎 田中次郎 等が出てくれば、一応前部のデータをチェックして Left() 等で分ける、という事を繰り返せば、手で分けるのは1%未満になると思いますよ。
Offline
かなり前、500,000件強のデータを対象に近い作業をしました。
その際は姓と名のDBを用意し、一括照合の結果による判定レベルを設けたりしました。
私が担当したのは、粗くても良いので合理的に分割されたデータを用意する所までだったので、
最も確度の高い判定レベルは目視チェックも省き、次に高いレベルのものはランダムに拾ったデータでチェック。
レベルに応じて目視チェックの対象割合を変える、というので対応しました。
FileMaker的な工夫としたら、ポータルで姓名の組み合わせを候補として提示し、
ボタン一発で選べるようにしたとかその程度でしょうか。
目視ですら判断できない人名が結構あるものだと悩んだ記憶があります。
-
姓名の分割そのものは、新たにこういう試みをしている人がいるぐらい定番は無い分野であり、
FileMaker単独では非常に難しいです。
■ 姓名分割プログラムをつくる-手法編- - 生き抜くぜ21世紀
http://rskmoi.hatenablog.com/entry/2017/01/15/190837
この記事の方は、3~5000超の人名をコーパスとしてロジスティック回帰による機械学習を使い、
.99付近のかなり高い精度で判定ができているようです。
「もうすぐ公開したい」とありますが、残念ながらまだ公開されていないようです。
Offline
姓名分割プログラムをつくる-手法編を書いたものです。
ブログのアクセスが急増したためこちらで紹介していただけたことに気づきました。
とりあえずgithubに上げたので、使えそうだったら使ってみてください。
マニュアル等はまた後日上げます。
Offline
個人的に問い合わせようかと思っていたぐらいなので、ありがたいです。
手元にあった、手動で分割し検証済みのデータで試してみました。
1630件中、誤判定は15件。正判定が99%越えますね。
誤判定されたデータの特徴は、やはり一文字の姓と、珍しい姓。
一文字の姓には「菅」「平」「橘」などがありました。
珍しい姓には「小里」「一ッ氏」「真栄城」などがありました。
他に、「丸山野」など区切り判定が難しいものも誤判定されていました。
なお誤判定されていたデータの確信度は、最も高いもので1630件中319番目でした。
C#なんで更にGUI付いたりすると、とてもとてもありがたいプロダクトになりそうです。
ライセンスは表記無かったんですが、ゆるいOSSだと嬉しいです。
それと、これはコマンド名なども揃っていたので意図的なものだとは思うのですが、
もしかして"devide"は、"divide"のtypoではないでしょうか?
このプロダクトを紹介しようかと思ったんですが、リポジトリ名にも使われているので、念のため。
Last edited by honda (2017-03-17 10:14:15)
Offline
>hondaさん
詳しい検証、本当にありがとうございます。
自分以外の方がどの程度有用に扱えるのかを把握できてとても嬉しいです。
ライセンスと、divideのスペル(完全に覚え違いしていました!!)についてもご指摘ありがとうございました。対応しました。
プロダクトの紹介、して頂けると非常に嬉しいです。。
>皆様
http://rskmoi.hatenablog.com/entry/2017/03/20/233058
にマニュアルを付けました。
もしよろしかったら使用してみてください。
掲示板の趣旨とは違う?書き込みばかりで申し訳ございません。
これにて、失礼いたします。
Offline
マニュアルありがとうございます。これでより人に薦めやすくなりました。
しかもMITライセンスなので、CUIの受けが悪くても自分でGUIも付けられます。
FileMakerのユーザーは身近なデータ処理が主な用途の方も多いので、
こういった外部ツールの情報は有益だと思います。
ということで、Ka-saさんの質問へのお返事としては、
FileMakerだけでなんとかするなら、ここで紹介された方法。
Windowsで外部のツールが使えるなら、以下のツールで処理。
■ rskmoi/NameDivider
https://github.com/rskmoi/NameDivider
NameDividerを使う場合、DB側で主キーにあたる情報を渡せないため、
予め対象データのみで、任意のシリアル値を振り、それでソートしておく必要があります。
そうしてエクスポートしたデータをNameDividerで devide -c し、
振られたインデックスを条件に照合インポートを行います。
Offline
Pages: 1
[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 570.66 KiB (Peak: 586.07 KiB) ]