第6章:12種類のフィルター
スコアリングの前に立ちはだかる「関門」を理解する。一つでも引っかかれば、どんなに良いコンテンツでも完全除外されます。
6.1 フィルターの位置づけ
フィルターは、候補となる投稿がスコアリングされる前に適用される「関門」です。 スコアリングが「どれくらい良いか」を連続的な値で評価するのに対し、 フィルターは「通過か除外か」のバイナリ判定(二値判定)を行います。
処理の流れ
フィルター(バイナリ判定)
「通過」か「除外」の二択。一つでも引っかかれば候補から完全除外。スコアが高くても関係ありません。
スコアリング(連続値)
0.5、1.2、3.8などの連続的な値。スコアが低くても表示される可能性はある。
6.2 コンテンツ品質フィルター(4種類)
コンテンツそのものの品質・安全性を判定するフィルターです。
| フィルター名 | 判定対象 | 判定結果 | 影響 |
|---|---|---|---|
| SafetyFilter | 暴力、ヘイト、テロ、違法行為 | SAFE / SENSITIVE / UNSAFE | UNSAFEは完全除外 |
| NsfwFilter | 性的コンテンツ、成人向け | 一般 / 要年齢確認 / 禁止 | 禁止は完全除外 |
| SpamFilter | 大量投稿、自動化、リンク乱用 | 正常 / 疑わしい / スパム | スパムはアカウント凍結も |
| QualityFilter | 情報価値、オリジナリティ | 高品質 / 標準 / 低品質 | 低品質は除外orリーチ制限 |
SafetyFilterの判定対象
- 暴力的なコンテンツ
- ヘイトスピーチ
- テロリズム関連
- 自傷・自殺関連
- 違法行為の助長
6.3 ユーザー関係フィルター(3種類)
ユーザー間の関係性に基づくフィルターです。
| フィルター名 | 対象 | ロジック | 影響 |
|---|---|---|---|
| BlockedFilter | ブロック関係 | 双方向でブロックがあれば除外 | 完全除外 |
| MutedFilter | ミュート関係、キーワード | ミュート設定に該当すれば除外 | 除外(相手に非通知) |
| FollowFilter | フォロー関係 | 「フォロー中のみ」設定時に適用 | 設定依存 |
ブロックとミュートの違い
ブロック(強)
- - 双方向で完全遮断
- - 相手にも見えなくなる
- - 最も強い関係遮断
ミュート(緩)
- - 自分からだけ見えない
- - 相手には通知されない
- - キーワードミュートも可
6.4 コンテンツタイプフィルター(3種類)
コンテンツの種類や属性に基づくフィルターです。
| フィルター名 | 対象 | 動作 | 影響 |
|---|---|---|---|
| MediaTypeFilter | テキスト、画像、動画、リンク | ユーザーの好みを学習 | スコア調整が主 |
| LanguageFilter | 投稿の言語 | 言語不一致で大幅スコア減 | 実質除外に近い |
| TopicFilter | トピック分類 | 興味/ミュート設定を参照 | ミュートは完全除外 |
言語フィルターの仕組み
# 判定ロジック
user_languages = ["ja", "en"]
tweet_language = "fr"
if tweet_language not in user_languages:
score *= 0.1 # 90%減
6.5 時間・鮮度フィルター(2種類)
時間に関連するフィルターです。
| フィルター名 | 対象 | 動作 | 影響 |
|---|---|---|---|
| FreshnessFilter | 投稿の経過時間 | 48時間超は原則除外、24時間超は0.5倍 | 新しさ重視 |
| DuplicateFilter | 重複・類似コンテンツ | 同一内容の後続投稿を除外 | 重複は除外 |
鮮度による影響タイムライン
6.6 フィルター回避の鉄則
避けるべきこと
- - 暴力的・攻撃的な表現
- - 差別的・ヘイト的な内容
- - 同一内容の繰り返し投稿
- - 短時間での大量投稿
- - 不自然なリンクの多用
- - 意味のない短文の連投
意識すべきこと
- - 投稿言語とターゲット層を一致
- - 24時間以内の新鮮な投稿
- - 毎回オリジナルの内容
- - 引用RTには独自意見を追加
- - 多言語は分けて投稿
- - ブロックされる行為を避ける
覚えておくべきフィルターの特性
6.7 この章のまとめ
重要ポイント
- フィルターは「バイナリ判定」 - 通過か除外かの二択
- 12種類のフィルター(品質4 + 関係3 + タイプ3 + 時間2)
- 一つでも引っかかれば完全除外
- 予防が最重要 - 復旧は困難
フィルターの「バイナリ判定」とはどういう意味ですか?
バイナリ判定とは、「通過」か「除外」かの二択で判定される仕組みです。スコアリングのような連続的な数値ではなく、完全に白か黒かで判断されます。どんなに高品質なコンテンツでも、1つのフィルターに引っかかれば候補から完全に除外され、誰のタイムラインにも表示されなくなります。
SafetyFilterで除外される内容は何ですか?
暴力的なコンテンツ、ヘイトスピーチ、テロリズム関連、自傷・自殺関連、違法行為の助長などです。判定結果は「SAFE」「SENSITIVE」「UNSAFE」の3段階で、UNSAFEと判定されると完全に除外されます。
SpamFilterに引っかからないためのコツは?
(1)同一内容の繰り返し投稿を避ける (2)短時間での大量投稿を控える (3)不自然なリンクを多用しない (4)フォロー/アンフォローを繰り返さない (5)エンゲージメント購入をしない。予防が最も重要です。
言語フィルターはどのように動作しますか?
投稿の言語が自動検出され、ユーザーの言語設定と比較されます。言語が一致しない場合、スコアが約0.1倍(90%減)になるため、実質的にほとんど表示されなくなります。
フィルターに引っかかったことはどうやってわかりますか?
直接通知されることはありません。間接的なサインとして、インプレッションが極端に少ない、エンゲージメントがほぼゼロ、検索結果に表示されない、他のアカウントから見えないなどがあります。
理解度チェック
フィルターの判定方式は?
フィルターの総数は?
SpamFilterで検出されるものは?
FreshnessFilterで優先されるのは?
ブロック関係のフィルターの動作は?