はじめに
こんにちは! 株式会社Voicyでデータアナリストをしている翔斗です。
これまでの検索改善の記事の続きになります。
上記記事を読んでから今回の施策をみていただけるとありがたいです。
タグ付け
今回話していくのはチャンネルに対してタグを登録していき結果なしを減らすという対応になります。
現状把握
前回の改善でチャンネルの誤検索は防ぐことができるようになりました。
前回の記事でも出しましたが、Voicyではまず結果0を減らしていくことに注力することにしています。
前回に引き続き今回も結果0を減らしていきます。 今回はジャンルなど特定のチャンネルを検索しているわけではないが、新しいチャンネルを探している際の改善になります。
例えば:
一人暮らしでものが増えてきた人が"断捨離"と検索するとします。
この際に欲しいのは"断捨離"というワードが含まれるチャンネルや放送だけでなく、ミニマリストのチャンネルなどもレコメンドされてそほしいです。 Voicyにはたくさんの暮らしに関する発信をしているインスタグラマーがいますが、チャンネルに断捨離という単語が含まれてるのは1チャンネルのみになります。
チャンネル:voicy.jp
他にも放送を見てみると"断捨離"というワードを沢山タイトルにしている方がいます。例えばこのチャンネルになります。
チャンネル:voicy.jp
このチャンネルのように放送で何度か取り上げている場合、チャンネルとしても検索結果にも出てくるようにするのが目的になります。
手法・実装手順
今回Voicyでは、チャンネルにタグを作成していくことにしました。
チャンネルに対して複数のタグを持たせておくことで、よく放送する内容を検索した際にそのチャンネルを見つけることができ、新しいマッチングを生み出すことができると考えているからです。
方法としては下記手順になります。
- CHごとに、すべての放送タイトルとチャプター名を1つのフィールドにまとめる
- 前処理を行い記号やURLなどを除く
- ストップワードを指定
- 分かち書き
- 名詞だけを抽出
- tf-idfによって特徴ワードを抽出しCH情報にタグ付け
- 定期的に1〜6を繰り返しタグを更新していく
上記を行う上で2点重要なポイントがあります。
・前処理
・ストップワードを指定
前処理では ・「」【】!?などといった記号 ・第1回・#50などといった放送数のナンバリング ・URL という情報を邪魔するものを省いていきます。 これを行わないと、「」など全然意味を持たない記号がいっぱい使われているという理由でタグに入ってしまい検索の改善にならないことがあります。
もう一つ大切なのが、上と同じ前処理に該当するのですが、ストップワードを作成することです。 こちらは他では意味がある単語でもVoicyでは必要ないものなどが挙げられます。 具体的には”チャプター” ”エンディング” ”お知らせ”などVoicyでよく使われるが、いろんなチャンネルで利用され、チャンネルを特定することができないワードなどがそれに当たります。
こちらを消した上でできるだけそのチャンネルを表す語彙が入っている状態にし、検索されるであろう名詞に絞ってtf-idfをかけます。
そうすることでチャンネルの特徴をうまく表すタグが作成されます。
結果
上記対応を行うことで一部の単語では検索でも結果を補完して表示することができました。
まとめ
今回の対応では今まで検索で出てこなかったチャンネルと出会う体験を生み出すことができました。
しかし、NFTなど放送何度も取り上げるものはチャンネルの説明欄で記載されていることも多く大きな改善には至りませんでした。 今後もタグの精度を上げていくことで新しいチャンネルに出会うという体験を増やしいきたいと思います。
次回
今回は前回に引き続き、結果0を減らしていくための話を記載しました。 次回も引き続き結果0を減らしていくため他にどんな施策を行ったのかを記載していきたいと思います。