twitter検索の不具合を回避して使う方法
twitterの公式検索エンジンでは、未だに日本語の取り扱いが不十分であり、うまく検索できないことが多々あります。
それが原因で、巷ではつぶやきが検閲されているなどの噂も広まるほどですが、そんなことはありません。
今回は、もともとの日本語検索の仕組みと、twitter検索における問題、そしてその問題を回避する方法をできるだけ簡単に説明したいと思います。
日本語検索の仕組み
通常、英文は単語がスペースで区切られているので、検索エンジンはその単語の区切りをはっきりと判別したデータとして保存(インデックスするといいます)できます。
ですので、英単語を検索する場合には、その単語がマッチすれば簡単に検索できる訳です。
ところが、日本語や中国語などの言語ではスペースを使わないため、あらかじめどこで単語が区切られているかを判別した上でデータを格納する必要があります。
最悪の場合、全文字を2文字ずつを重ねて区切った連続の文字列としてインデックス(bi-gram方式と言います)すれば必ず日本語の単語も検索でヒットします。
ここでは、twitter検索で引っかからないと話題になった「外国人参政権」という単語を例として使ってみますと、bi-gramでは「外国」、「国人」、「人参」、「参政」、「政権」という5つのパーツに分けて保存するわけです。
こうすればどうにかほとんどの日本語キーワードでも検索できますが、それではさすがにシステムのリソース的にも効率が悪いので、通常は辞書に登録された単語で区切ったり、言語特有の文法で解析して区切ったりしてインデックスします。これを形態素解析といいます。
言葉は難しいのですがこれはより人間の考え方に近く、先ほどの「外国人参政権」は「外国」「人」「参政」「権」などに分割されてインデックスされるということです。
そうすれば、「外国人」や「参政権」、「外国人参政権」と検索しても引っかかるということです。
twitter検索の問題
twitterの検索エンジンは、英文は正しく検索できるのですが、日本語ではこのインデックスの仕組みがどうやらおかしいようです。
もう少し厳密に言いますと、単語によっては正しく検索されることもあることから、形態素解析とインデックスができていたとしても、複数の単語が連なっているとみなされたりした場合には、ちゃんと検索を行ってくれないようなのです。
ですので、先ほどの「外国人参政権」で検索をしてみても、検索結果がほとんどなしとされてしまいます。
これでは、せっかくの検索が全く役に立ちません。
twitter検索の問題を回避する方法
このtwitter検索の問題を回避するには、あたかも日本語を英語のように検索すれば回避できます。
たとえば、「外国人参政権」を検索したい場合、「”外 国 人 参 政 権”」とすべての文字をスペースで区切って検索してみます。ここで注意しなければならないのは、最初と最後に「”」(半角ダブルクオーテーション)で囲むという点です。囲まなければ、順序がばらばらでも含まれるツイートが検索の対象になってしまいます。
まずはこの全文字スペース区切り、「”」囲みの方法で、ある程度の検索結果を見ることができます。
これだけでは終わらないのがこの twitter検索の不具合のつらいところです。実は、どうやら検索する単語が文頭にあるか、ないかによって、形態素解析のされ方が変わってインデックスされているようなのです。
そこで、次はおそらくこういう風に単語が区切られているだろうという予測で検索してみます。
たとえば、「”外国 人 参 政権”」で検索してみます。ところが、残念ながら検索結果はゼロです。
そこで、検索を「”外国 人 参政 権”」としてみると、なんと、先ほどの全文字スペース区切りとはダブらない、全く新しい検索結果が表示されます。
この二つの結果から、考え得る最小単位の単語で意味が通るものを「前倒し」で優先して区切ると検索結果が出やすいと言うことになります。言い換えれば、「参 政権」ではなく、「参政」という意味が通る最小の単語を優先した「参政 権」とするということです。
簡単に、と言いながらもややこしくなってしまいましたのでもう一度まとめると、
- まずは、全文字を半角スペースで区切って、前後を「”」(ダブルクオーテーション)で囲ったもので検索してみる。
- 次に、意味が通る最小単位の単語ごとにスペースで区切って行って、前後を「”」(ダブルクオーテーション)で囲ったもので検索してみる。
ということです。
なんともややこしい方法ですが、今のところtwitter検索でまともに日本語を検索するにはこの方法しかありません。
twitterのつぶやきを検索するもうひとつの方法
これだけややこしい方法を紹介しておきながら、twitter本家の検索エンジンにこだわらなければ実はもっと簡単な方法があります。
それは、Googleのアップデート検索を利用する方法です。
実は、当然のことながらGoogleの方がこういった言語解析やインデックスは得意なので、検索結果は先ほどの回避方を含めてたすべてのつぶやきが表示されます。
しかし、twitterユーザーとしてはお使いのtwitterアプリやtwitter.comから検索を完結したいところです。
是非この2つの検索方法を使い分けて、より快適なつぶやきライフをお過ごしください。
by 朝山貴生
もしよろしければこのページの共有を是非お願いいたします: