その他 名前が近いっていう検索方法 その2 1


その他 名前が近いっていう検索方法

で、名前が近い
つまり、文字列が近い検索って
どうするんだろうと考えてみたけどその続き

いろいろ試してみたところ
ひとまず調べあげるのは

どれだけ文字列が一致しているか?
だけでイイんじゃないかと考えてみた

例えば

123456 という文字列の
隣あった文字の並び方は
以下のようになる

123456
12345
23456
1234
2345
3456
123
234
345
456
12
23
34
45
56
1
2
3
4
5
6

の全部で21個となる、

Maxには matchPattern という検索方法があるので
あとは、この文字列候補が検索対象に
どれくらい含まれているか調べればいいんじゃないかな

134562に含まれているのは
1、2、3、4、5、6、34、45、56、345、456、3456、の
全部で12個

なので、(12.0/21.0) *100 = 57.14
となって元の文字列に比べて、似ている率57%って感じ

489752では、同じように
4、5、2、が一致するので合計3個
大体14%くらい似ているという感じ

ほかに、検索元の文字列数がすくないと
自ずと分母が小さくなっちゃうから、もしかしたら、すくない文字列の場合は
連続文字列の方を優先するように
係数を付けておいた方が良いカモね

とりあえず、コレで一回つくってみよう

ただ、forループ重ねるだけだから
そんなに難しくはないと思うんだけどね

ココにもう一個加えるとしたら

文字の誤認

これはナカナカ厄介だなたとえば、スマホとかの文字入力時の候補とか
googleの もしかしてコレ? は統計データとかから取ってくるのだと思うので
アル程度のデータベースが必要だから、これは大変だ

たとえばBを8と誤認していたとか
よくあるIとlを誤認していたっていのうは

文字の形が近いとか、似ているのを
検索してくる

って事だから

んーどうしたらいいんだろう?

変な話し、文字を一回ピクセルに分解して
どれくらい、そのピクセルが一致しているか調べたら
誤認しているか調べられないかな?

どっちにしても、統計データとか割り当てデータとか
なにか、とっかかりが必要なんだろうな

んーどうしたらいいんだろう?

 

 


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

One thought on “その他 名前が近いっていう検索方法 その2