twitterの検索について

「弾幕T」だと3件
「弾幕Tシャツ」だと9件
引っかかります。理論的には「弾幕T」で検索すれば「弾幕Tシャツ」も引っかかるので9件になりそうですが、なりません。
なぜなのでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2012/08/17 23:10:46
  • 終了:2012/08/23 21:52:07

ベストアンサー

id:quintia No.4

quintia回答回数562ベストアンサー獲得回数712012/08/18 09:09:44

ポイント100pt

今、質問では"弾幕T"と"弾幕Tシャツ"で考えているため不思議に思っているのでしょうが、実のところ技術的に考えて分解していくと、

"T"という検索語で検索しても"Tシャツ"がヒットしない

という問題にたどりつきます。

これはなぜかというと(すでにされている回答にも含まれていますが)Twitterの検索機能の検索単位が単語(や熟語)単位だからです。
Twitterが特別なのではなく、コンピュータを用いた検索としてはごく普通のことです。
"Tシャツ"という文字の列が「一つの意味のある文字の連なり」だと認識され、「Tシャツ」で索引が作られているためこの様なことが起こります。
なぜ単語単位で索引を作るのかというと、

検索に使う索引データを小さくできる

からです。

もう一つ、

なぜ"T"で検索したときに"Tシャツ"の索引を使わないのか

という疑問がでます。
単純に、"T"で始まる単語の索引がたくさんあって、"T"で検索した時にそれらを対象に入れていたら時間がかかりすぎるというのもあるのでしょうが、結局のところ、

"Tシャツ"を検索したい人が"T"や"Tシ"や"Tシャ"というような検索語を使うか?

ということをどう想定するかという話です。
例が"Tシャツ"なので納得しにくいかもしれませんので、

"スパイラル"を検索したい人が"スパ"や"スパイ"というような検索語を使うか?

などと置き換えた方がいいかもしれません。

このような、検索システムでの検索対象にする/しないという判断には「正解」や「ベスト」の手法があるわけではなく、検索の対象にするデータの大きさや性質によって変えていかないといけない類の問題です。
検索の対象にする文書がじゅうぶんに少なければ、"T"という検索語で"Tシャツ"がヒットしても全然問題ないわけです。
検索機能を提供した時点でのTwitterの規模からすると、"T"という検索語で"Tシャツ"をヒットさせてしまうこと(あるいは"スパ"という検索語で"スパイラル"をヒットさせてしまうこと)には「レスポンスや検索結果の質の面で色々と不都合がある」と判断したこともしょうがないかと思います。

id:yossiy7

なるほど、なるほど。
一番いい回答です。
でも「弾幕Tシャツ」の略語として「弾幕T」という言葉を使う人が多いので「使うのか?」という(twitterの開発者の)考えには「使うんだよー」と反論したいです。
が、例外的だと自分でも思いますので、検索する時は両方の単語で検索することにします。

2012/08/23 21:37:10
id:quintia

ざっと試した感じでは東京で東京都を引っ掛けられないので、特殊な用語だから、とかそういったわけではなくてTwitterの検索がかなり割り切った機能になっているっていうことです。

回答に書かなかったことをちょっと補足で。
Googleの様な検索エンジンなら、スパでスパイやスパイラルが引っかかっても全然問題ないんです。
なぜかというと、結果の見せ方としてスパを前の方に、スパイやスパイラルは後ろの方に表示しておけばいいからです。

Twitterは結果の見せ方がTL状になっていて、最近の発言を前の方にしてます。
そうすると、スパでスパイラルが引っかかってくると「使えねえ!!」って感想になりますよね。

Twitter特有の結果の見せ方もあって、検索は基本的に広くヒットしないようにしていると思いますし、そこは今後も大きく変わることはないんじやないかと思います。
変わるとしたら結果の見せ方も大きく変えないといけないでしょうね。

2012/08/26 23:48:31

その他の回答(4件)

id:grankoyama No.1

グラ娘。回答回数560ベストアンサー獲得回数1702012/08/17 23:51:21

ポイント80pt

https://support.twitter.com/articles/249045

単語と 単語の間にスペースがある英語と異なり、日本語はひと続きになっている文を単語に切り分ける必要があることにあります。

全文検索しているのではなく、機械的に区切って登録してあるインデックスみたいな単語、短文の羅列から一致するものをひっぱっているようなイメージなんじゃないかと思います。

弾幕Tで登録されているものは弾幕Tでしかひっかからないし、
弾幕Tシャツで登録されているものは弾幕Tシャツでしかひっかかからない。
Tシャツというのはひと単語になってそうなので、そこでの区切りは登録されづらいのではないのか?

『ンドンオリンピック』とかで検索したら、ロンドンオリンピックはあんまりでてきません。

『リンピック』とかだと食べリンピックとかしか、出てこない。
辞書の単語毎に区切ったり、かたかな、ひらがなの境目などで区切ったりして、
登録されてるんだと思います。

で、そこと完全一致するものだけが表示される。

推測ですんで。納得いかなければ、似るなり焼くなり。

id:yossiy7

推測とは言いつつ、いくつか実験的に検証してますね。
ただ
>『ンドンオリンピック』とかで検索したら、ロンドンオリンピックはあんまりでてきません。
「あんまり」じゃなく「全く」出てこない、のであれば確定だったんですけどね。
惜しいです。
他の方の回答も含めると納得できる部分もあるので、ポイントあげます。

2012/08/23 21:39:22
id:kitiko No.2

kitiko回答回数463ベストアンサー獲得回数422012/08/18 02:11:17

1バイト文字 と 2(マルチ)バイト文字の処理の違いですね。

ただし、1バイト文字で "This is a pen" と書いても2バイト文字で "This is a pen" と書いても英語は英語である。逆に、「おはようございます」を「Ohayougozaimasu」と記述したものを日本語ではないということはできない(言語とは文字言語に限らないため)。

そのため、この表現自体に問題があると言えるが、一群として指し示すのに便利で、代替の適切な単語が知られていないことから現在でもIT関連のメディアや、それらのソフトウェアを販売する会社などでも使われているようである。

そもそも日本語の文字を2バイト文字と呼ぶことには、文字集合と符号化方式の混同がみられる。 ある文字を表現するのに必要なバイト数はその言語ではなく、その文字集合の符号化方式(エンコーディング)によって決まる。 たとえば日本語でもいわゆる半角カナは Shift JIS符号化方式を使えば 1バイトで表現できるし、 英語の文字でも UTF-16 などの符号化方式では 1文字に最低 2バイトを必要とする。 ウィキペディアでも使用している符号化形式 UTF-8 では、1文字に必要なバイト数が可変となっており、 日本語の文字は通常3バイト、その他の言語によっては最大6バイト長を必要とする。



このように、日本語は一文字一文字が切れて符号化されているために、元々つながってないものをコンピューターの中で変換して検索しているのです。なので、たとえつながっていても、and処理されないわけです
1バイト文字(英語)の場合は、一バイト文字なので、同じ文字列として処理されます。

id:yossiy7

だったら"T"で検索かければ"T"+"シャツ"である"Tシャツ"は引っかかりますよね。
うん、もっともらしいけど大嘘だな。
0ポイント確定。

2012/08/23 21:30:18
id:maya70828 No.3

楽1978回答回数1364ベストアンサー獲得回数1392012/08/18 04:31:24

簡単に言ってしまうとTwitterはGoogleなどに比べてサービスができてから日が浅いので検索機能が発展途上であること、Twitterにはハッシュタグがあるからではないでしょうか?
http://www.atmarkit.co.jp/news/200903/18/twitter.html

id:yossiy7

回答といい、引用されたサイトといい、何か近いけど全然違う!
ちゃんと質問を読んで。0ポイント。

2012/08/23 21:33:35
id:quintia No.4

quintia回答回数562ベストアンサー獲得回数712012/08/18 09:09:44ここでベストアンサー

ポイント100pt

今、質問では"弾幕T"と"弾幕Tシャツ"で考えているため不思議に思っているのでしょうが、実のところ技術的に考えて分解していくと、

"T"という検索語で検索しても"Tシャツ"がヒットしない

という問題にたどりつきます。

これはなぜかというと(すでにされている回答にも含まれていますが)Twitterの検索機能の検索単位が単語(や熟語)単位だからです。
Twitterが特別なのではなく、コンピュータを用いた検索としてはごく普通のことです。
"Tシャツ"という文字の列が「一つの意味のある文字の連なり」だと認識され、「Tシャツ」で索引が作られているためこの様なことが起こります。
なぜ単語単位で索引を作るのかというと、

検索に使う索引データを小さくできる

からです。

もう一つ、

なぜ"T"で検索したときに"Tシャツ"の索引を使わないのか

という疑問がでます。
単純に、"T"で始まる単語の索引がたくさんあって、"T"で検索した時にそれらを対象に入れていたら時間がかかりすぎるというのもあるのでしょうが、結局のところ、

"Tシャツ"を検索したい人が"T"や"Tシ"や"Tシャ"というような検索語を使うか?

ということをどう想定するかという話です。
例が"Tシャツ"なので納得しにくいかもしれませんので、

"スパイラル"を検索したい人が"スパ"や"スパイ"というような検索語を使うか?

などと置き換えた方がいいかもしれません。

このような、検索システムでの検索対象にする/しないという判断には「正解」や「ベスト」の手法があるわけではなく、検索の対象にするデータの大きさや性質によって変えていかないといけない類の問題です。
検索の対象にする文書がじゅうぶんに少なければ、"T"という検索語で"Tシャツ"がヒットしても全然問題ないわけです。
検索機能を提供した時点でのTwitterの規模からすると、"T"という検索語で"Tシャツ"をヒットさせてしまうこと(あるいは"スパ"という検索語で"スパイラル"をヒットさせてしまうこと)には「レスポンスや検索結果の質の面で色々と不都合がある」と判断したこともしょうがないかと思います。

id:yossiy7

なるほど、なるほど。
一番いい回答です。
でも「弾幕Tシャツ」の略語として「弾幕T」という言葉を使う人が多いので「使うのか?」という(twitterの開発者の)考えには「使うんだよー」と反論したいです。
が、例外的だと自分でも思いますので、検索する時は両方の単語で検索することにします。

2012/08/23 21:37:10
id:quintia

ざっと試した感じでは東京で東京都を引っ掛けられないので、特殊な用語だから、とかそういったわけではなくてTwitterの検索がかなり割り切った機能になっているっていうことです。

回答に書かなかったことをちょっと補足で。
Googleの様な検索エンジンなら、スパでスパイやスパイラルが引っかかっても全然問題ないんです。
なぜかというと、結果の見せ方としてスパを前の方に、スパイやスパイラルは後ろの方に表示しておけばいいからです。

Twitterは結果の見せ方がTL状になっていて、最近の発言を前の方にしてます。
そうすると、スパでスパイラルが引っかかってくると「使えねえ!!」って感想になりますよね。

Twitter特有の結果の見せ方もあって、検索は基本的に広くヒットしないようにしていると思いますし、そこは今後も大きく変わることはないんじやないかと思います。
変わるとしたら結果の見せ方も大きく変えないといけないでしょうね。

2012/08/26 23:48:31
id:yossiy7

質問文を編集しました。詳細はこちら

id:kazuki55 No.5

kazuki55回答回数4ベストアンサー獲得回数02012/08/21 14:39:33

すこししらべてみます

他1件のコメントを見る
id:yossiy7

とりあえずこの回答のリプライを待っています
>skkirby0429さん
期限切れまでにリプライなかったら悪質回答者として通報するだけです。まぁそのような事は無いと思いますが。

2012/08/23 21:28:45
id:yossiy7

……と思ったら、既に回答者が脱退してたので、終了します。

2012/08/23 21:51:35

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません