その他 名前が近いっていう検索方法 その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を誤認していたっていのうは

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

って事だから

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

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

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

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

 

 


Leave a comment

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

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

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