有害コンテンツ ── 差別・暴力等を含む不適切コンテンツ
生成AIの普及で「AIが有害コンテンツを生成しないか」「AIで偽情報を量産させないか」が社会課題に。 技術者はこの問題を避けて通れません。
「有害」のカテゴリ例(OpenAI Moderation API のラベル):
各カテゴリでスコアを出し、 閾値超えはブロック/警告という運用。
多層防御の枠組み:
OpenAI Moderation API での例:
{
"hate": 0.001,
"harassment": 0.002,
"self-harm": 0.000,
"sexual": 0.000,
"sexual/minors": 0.000,
"violence": 0.012,
"violence/graphic": 0.000
}
各カテゴリ 0-1 のスコア。 通常0.5以上でブロック判定。
最小限のスニペットで動作確認できる例。 公的データ(SSDSE 等)を想定しています。
🎯 このコードでやること: Perspective API のような有害度スコアラを使い、 ユーザ投稿のテキストを 0-1 で評価する
1 2 3 4 5 6 7 8 9 10 | import openai # OpenAI Moderation API(無料) resp = openai.Moderation.create(input="user-supplied text here") result = resp["results"][0] if result["flagged"]: print("BLOCKED:", result["categories"]) else: print("OK") # カテゴリスコアで詳細制御も可能 |
💬 読み方: 有害コンテンツ検出は確率スコアで、 「閾値」をどこに引くかが運用判断。 閾値を上げると見逃しが増え、 下げると過剰検閲になる。 false positive と false negative のコストバランスで設定する。
| カテゴリ | 例 | 対策難度 |
|---|---|---|
| 違法 | 児童ポルノ、 違法薬物販売 | 明確、 ゼロ容認 |
| 有害(合法) | ヘイト、 誤情報、 自殺方法 | 文脈依存 |
| 知財侵害 | 無断複製、 ディープフェイク | 判定難 |
| プライバシー侵害 | 晒し、 ストーキング | 個別判定 |
| 未成年保護 | 過度な暴力、 性的 | 年齢確認要 |
これらに対する防御として、 多層フィルタ・継続的Red Team・通報機構が必須。
| カテゴリ | 例 | 対策難度 |
|---|---|---|
| 違法 | 児童ポルノ、 違法薬物販売 | 明確、 ゼロ容認 |
| 有害(合法) | ヘイト、 誤情報、 自殺方法 | 文脈依存 |
| 知財侵害 | 無断複製、 ディープフェイク | 判定難 |
| プライバシー侵害 | 晒し、 ストーキング | 個別判定 |
| 未成年保護 | 過度な暴力、 性的 | 年齢確認要 |
これらに対する防御として、 多層フィルタ・継続的Red Team・通報機構が必須。
有害コンテンツ は、 ヘイト、 違法行為の煽動、 誤情報、 ハラスメント、 自傷誘発、 児童に有害な情報など、 オンライン空間で他者・社会に害をもたらす情報の総称です。 EU DSA、 日本のプロバイダ責任制限法等の規制対象。
| 指標 | 値 | 解釈 |
|---|---|---|
| Precision | 0.85 | 削除した投稿の 85% は本当に有害 |
| Recall | 0.62 | 有害投稿のうち 62% を捕捉 |
| F1 | 0.72 | 平衡指標 |
🎯 このコードでやること: 通報 → 分類 → アクションの 3 段階パイプラインを 1 つの DataFrame で管理する
1 2 3 4 5 6 | # シンプルなキーワードフィルタ
bad_words = ['hate','attack','threat']
texts = ['hello world', 'I will attack you', 'have a nice day']
for t in texts:
flagged = any(w in t.lower() for w in bad_words)
print(f'{t} → {"NG" if flagged else "OK"}') |
💬 読み方: 通報処理は SLA を持って運用する。 「pending」が積み上がるとモデレーターのキャパシティ不足。 「removed」率と false positive 率を週次で監視し、 不当な削除がないかを利用者団体と合議制でレビューする。
🎯 このコードでやること: 禁止語句リストを使った最も単純な検索ベースフィルタ (キーワードマッチング)
1 2 3 4 5 6 7 8 | # 通報統計の集計(仮想例)
import pandas as pd
reports = pd.DataFrame({
'category': ['hate','harassment','spam','misinfo','other'],
'count': [120, 80, 200, 45, 30],
})
reports['ratio'] = reports['count'] / reports['count'].sum() * 100
print(reports) |
💬 読み方: キーワードマッチは実装が簡単だが、 文脈を見ない (引用・教育目的の言及も誤検出) という弱点がある。 ML ベース分類器の前段フィルタとして使い、 ML が grey zone を判定する構成が現実的。
🎯 このコードでやること: 群 (属性別) で Precision/Recall を算出し、 モデレーション AI のバイアスを検査する
1 2 3 4 5 | # 機械分類スコアの分布
import pandas as pd
scores = pd.Series([0.05, 0.12, 0.55, 0.78, 0.91, 0.02, 0.33])
print('平均:', scores.mean())
print('閾値 0.5 以上の割合:', (scores >= 0.5).mean() * 100, '%') |
💬 読み方: 全体メトリクスでは隠れていた群別バイアスが、 都道府県や言語サブセット別に分解すると現れる。 特定地域・方言での Recall 低下は学習データの不均衡を示し、 fairness の観点で必ず是正する。
🎯 このコードでやること: ヒューマン・モデレーター (人間) と AI モデレーターの判定一致率 (Cohen's κ) を算出する
1 2 3 4 5 6 | # 適用ポリシーの可視化
import matplotlib.pyplot as plt
labels = ['warning','removal','ban']
counts = [60, 25, 15]
plt.bar(labels, counts, color=['#FFB300','#E64A19','#B71C1C'])
plt.tight_layout(); plt.savefig('mod_action.png', dpi=150) |
💬 読み方: κ = 0.6 以上が実用的合意水準。 不一致 (H=block, AI=safe) は AI の見逃しで、 高優先度の再学習対象。 逆 (H=safe, AI=block) は AI の過剰検閲で UX 悪化要因。 両者を別々にトラックする。
| カテゴリ | 年間通報数(仮) | 削除率 | 再申立 |
|---|---|---|---|
| ヘイト | 12,000 | 75% | 8% |
| ハラスメント | 8,000 | 60% | 12% |
| スパム | 30,000 | 98% | 1% |
| 誤情報 | 4,500 | 40% | 20% |
| その他 | 3,000 | 30% | 15% |
🎯 このコードでやること: 47 都道府県で有害投稿の発生件数を集計し、 人口比で標準化したヒートマップを描く
1 2 3 4 5 6 7 8 9 | import pandas as pd
reports = pd.DataFrame({
'id':[1,2,3,4],
'category':['hate','spam','misinfo','harassment'],
'score':[0.92, 0.99, 0.55, 0.78],
})
reports['action'] = reports['score'].apply(
lambda s: 'remove' if s > 0.85 else 'review' if s > 0.5 else 'keep')
print(reports) |
💬 読み方: 絶対数では人口の多い都道府県が必ず上位になるため、 「人口 10 万人あたり」で標準化する。 都市部で有害投稿率が高い傾向は世界共通だが、 ローカルコミュニティの監視機能が弱まる過密都市の特性。
🎯 このコードでやること: 通報からアクションまでの所要時間 (応答時間) の分布を可視化し SLA 違反を検出する
1 2 3 4 5 6 | blacklist = ['terror', 'kill', 'weapon']
def filter_text(t):
return any(w in t.lower() for w in blacklist)
tests = ['hello world', 'how to make a weapon', 'happy day']
for t in tests:
print(t, '→', filter_text(t)) |
💬 読み方: 応答時間の中央値は良くても、 P95 や P99 が悪いと「ごく一部のユーザが極端に長く待たされる」事態。 平均ではなく分位点で監視する。 SLA 違反率が 10% を超える月はキャパシティを見直すトリガーにする。
🎯 このコードでやること: ユーザに「なぜ削除されたか」を説明できるよう、 削除理由 (rule_id) ごとに件数とサンプルを出す
1 2 3 4 5 | from sklearn.metrics import precision_score, recall_score
y_true = [1,0,1,1,0,1]
y_pred = [1,0,0,1,1,1]
print('Precision:', precision_score(y_true, y_pred))
print('Recall:', recall_score(y_true, y_pred)) |
💬 読み方: Transparency (透明性) は信頼の基礎。 ユーザが削除理由を知り、 不服申立てができる仕組みを必ず用意する。 EU DSA (Digital Services Act) では削除理由の通知が法的義務。
プロバイダ責任制限法(日本)は 2002 年に施行。 「通知+削除+責任制限」のモデルを提供。
EU は 2022 年に Digital Services Act(DSA)を採択、 2024 年から本格適用。 大規模プラットフォームに違法コンテンツ対応の年次レポート義務。
日本は 2023 年改正プロ責法で「発信者情報開示の迅速化」を実現。 名誉毀損や中傷への対応プロセスが明確化。
この 有害コンテンツ ページで出てくる主要キーワードを一覧します。チップをクリックすると該当箇所へジャンプできます。
あなたは、AI 倫理 の入口で「有害コンテンツ(Harmful Content)」という用語に出会ったところです。 この用語は AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。
本ページでは、まず数式や形式的定義よりも、実データ(SSDSE-B-2026, 47 都道府県)で具体的な値を見ます。 そのあと、数式 → 計算 → Python 実装 → 落とし穴 → 関連用語、という順で「使える知識」に組み立てていきます。
有害コンテンツ の本質は、ひとことで言うと「AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。」です。 数式に踏み込む前に、まずイメージで掴みましょう。
ヒント:直感が掴めたら、次の「数式または定義」セクションで形式化を確認してください。 形式化と直感がつながれば、有害コンテンツ はもう武器です。
有害コンテンツ を一般化して書くと、観測ペア $(x_1, y_1), \dots, (x_n, y_n)$(ここでは $n = 47$ 都道府県)に対して、次の関係を仮定します。
$$ \boxed{\quad y = f(x_1, x_2, \dots, x_p; \theta) + \varepsilon \quad} $$ここで $\theta$ は推定したいパラメータ、$\varepsilon$ はモデルでは説明しきれない誤差項。 有害コンテンツ の流派ごとに、$f$ の形(線形・ロジスティック・木)、$\varepsilon$ の分布(正規・二項・ポアソン)が変わります。
| 記号 | 意味 | SSDSE-B での例 |
|---|---|---|
| $x$ | 説明変数 | F3101(都道府県別新聞発行部数(一般紙)) |
| $y$ | 目的変数 | 死亡率・出生率など |
| $n$ | 標本数 | 47(都道府県数) |
| $\theta$ | パラメータ | 傾き・切片など |
| $\varepsilon$ | 誤差項 | モデルで説明しきれない残り |
上の式 $y = f(x; \theta) + \varepsilon$ を「数学者の声」ではなく、「現場の声」で読み直してみます。
合言葉:「定義は短い、解釈は長い」。有害コンテンツ はたった 1 行の式ですが、それを 47 都道府県データに当てると、5 種類のチェックリスト(線形性・独立性・等分散・正規性・外れ値)が芋づる式に出てきます。
数式が読めたら、すぐに 実データ(SSDSE-B-2026, 47 都道府県, 2023 年度)で計算しましょう。 抽象を 47 行の表に落とすと、急に理解できることがあります。
# 有害コンテンツ の代表値を SSDSE-B-2026 で確認
col = 'F3101'
s = df2023[col].astype(float)
print('n :', len(s)) # 47
print('mean :', round(s.mean(), 2))
print('median :', round(s.median(), 2))
print('std :', round(s.std(), 2))
print('min / max :', s.min(), '/', s.max())
print('Top 3 prefs :')
print(df2023.nlargest(3, col)[['Prefecture', col]])
結果を見ると、47 都道府県のうち上位 3 県が突出しているか、なだらかに分布しているか、すぐ分かります。 この「分布の形」が見えると、有害コンテンツ を語る土台ができたことになります。
Python の実装は「読む → 集計 → 描く → 報告」を一直線に書きます。長いコードよりも、各ステップが分離していることが大事です。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# SSDSE-B-2026 を読み込み(都道府県別新聞発行部数(一般紙))
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
# 2023 年度(最新)だけ抽出
df2023 = df[df['SSDSE-B-2026'] == 2023].copy()
print(df2023.shape) # (47, ...)
print(df2023[['Prefecture', 'F3101']].head())
# 有害コンテンツ を 47 都道府県でビジュアル化
fig, ax = plt.subplots(figsize=(9, 6))
df2023.sort_values(col, ascending=False).plot.bar(
x='Prefecture', y=col, ax=ax, color='#00897B', legend=False)
ax.set_title('都道府県別新聞発行部数(一般紙)(SSDSE-B-2026, 2023)')
ax.set_ylabel(col)
ax.set_xlabel('都道府県')
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig('figures/harmful-content.html_r18_bar.png', dpi=120)
plt.show()
レポート文例:「SSDSE-B-2026(2023 年度, n=47)に基づいて 有害コンテンツ を確認したところ、平均は X、標準偏差は Y、上位 3 県は東京・神奈川・大阪であった。 SSDSE-B-2026 には 47 都道府県のメディア接触・新聞発行部数の指標が含まれており、地域間の情報露出格差として「有害コンテンツ」の到達範囲を議論する素材になります。」
合言葉:レポート提出前に「ゼロ起点で 1 枚描き直す」「外れ値を 1 県外して再計算」「逆方向の因果を 1 行で否定する」を必ずやる。
本ページに登場した Python コードはすべて以下のテンプレートで読み解けます:
覚え方:「Read → Roll up → Render → Read it back」。 最後の「Read it back」は、出力された数字や図を口に出して 1 度言うこと。 これで 有害コンテンツ の現場運用は十分に回ります。
使います。前処理(特徴量 → 入力ベクトル)、評価(指標の可視化)、解釈(係数の可視化)など、機械学習のあらゆる工程で 有害コンテンツ は登場します。
記述統計や 1 変量・2 変量の可視化には十分。ただし複数の説明変数を同時に検討するときは、自由度が枯れます。bootstrap や情報量規準(AIC/BIC)で補強しましょう。
独立行政法人統計センター(NSTAC)「SSDSE」サイトから無料でダウンロードできます。本ページの実装はすべて data/raw/SSDSE-B-2026.csv を前提にしています。
SSDSE は教育目的での利用が許諾されています(出典明示、改変記録)。論文公開時は出典欄に「総務省統計局, SSDSE-B-2026」を必ず書きましょう。
① ヒストグラム 1 枚を描く → ② 平均・中央値・標準偏差を読み上げる → ③ 上位 3 県・下位 3 県を暗記する → ④ 2 変量の相関を 1 つ確認する → ⑤ レポート 1 行にまとめる。これを 47 都道府県データで 3 回回せば、用語の地形が掴めます。
本リポジトリの 論文一覧 から「AI 倫理」カテゴリの論文を見ると、有害コンテンツ を実際に使った再現コードが付いています。
「目的 → データ → 有害コンテンツ の選択理由 → 結果(図 + 数値)→ 解釈 → 限界(n=47, 単年)→ 次の一手」の順が王道です。
用語は単独では覚えづらいので、前提・並列・発展の 3 方向で 16 件並べます。
勧め方:1 日 1 リンク。クリックして読んだら、有害コンテンツ のページに戻り、「有害コンテンツ とこの用語はどう違う?」を 1 行書く。
合言葉:5 STEP のうちどれか 1 段でも飛ばすと、結論が「数字だけ」になり、読者の腑に落ちなくなります。 有害コンテンツ は「数字 + 物語」のセットで完成です。
np.random.seed で作って「再現実験しました」と書く(教育用途では SSDSE-B-2026 を使うのが必須)iloc[:, 5] のように位置で参照し、SSDSE のバージョン違いで壊れるコードを書くx1, x2, x3 のように匿名化し、読者が意味を追えないコードにする有害コンテンツ は、19 世紀末〜 20 世紀初頭の統計学黎明期から発達してきました。AI 倫理 の中核として、Galton、Pearson、Fisher、Yule などが基礎を築き、現代では SSDSE のような公的データを使った教育素材で広く扱われています。
有害コンテンツ は、観測ペア $(x_i, y_i)_{i=1}^{n}$ から条件付き期待値 $E[y \mid x]$ または分布 $P(y \mid x)$ を推定する道具です。 線形・非線形・パラメトリック・ノンパラメトリックという 4 つの軸の中で、有害コンテンツ は「AI 倫理」という棚に並んでいます。
df.dropna() の前に必ず欠損率を df.isna().mean() で測る。有害コンテンツ は 記述統計・データサイエンス・機械学習 の交差点に位置します。 どの分野から入っても、いずれは 有害コンテンツ を通ります。
同じテーマで使い回せる narration を 5 つ並べておきます。コピペして「コード解説」欄に貼ってください。
有害コンテンツ を学ぶときに使う SSDSE-B-2026 は、47 都道府県 × 約 110 列 × 複数年度のパネルデータです。 本ページでは「2023 年度の 47 行」を主に使います。 以下に、よく登場する代表的なカラムを示します。
| SSDSE コード | 日本語名 | 単位 | 有害コンテンツ での主な使い方 |
|---|---|---|---|
| Code | 地域コード | — | JOIN キー |
| Prefecture | 都道府県名 | — | カテゴリ軸・ラベル |
| A1101 | 総人口 | 人 | 説明変数(規模) |
| A1303 | 65 歳以上人口 | 人 | 高齢化率の分子 |
| A4101 | 出生数 | 人 | 人口動態の説明変数 |
| A4200 | 死亡率 | ‰ | 目的変数の代表 |
| B4101 | 年平均気温 | ℃ | 気候系の説明変数 |
| L3221 | 消費支出 | 円 | 家計の目的変数 |
使い方のコツ:列名はすべて A1101 のような英数記号です。SSDSE のコードブックで日本語ラベルを確認しながら使ってください。
本ページの例では F3101(都道府県別新聞発行部数(一般紙))を中心に使っています。
解説は最小限。コードは 10 行以内。これで 有害コンテンツ の最短ルートが手に入ります。
import pandas as pddf = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])df = df[df['SSDSE-B-2026'] == 2023]col = 'F3101'print(df[['Prefecture', col]].sort_values(col, ascending=False).head())import matplotlib.pyplot as pltdf.plot.hist(y=col, bins=20)plt.title('都道府県別新聞発行部数(一般紙)(SSDSE-B-2026, 2023)')plt.savefig('figures/harmful-content.html_r18_hist.png', dpi=120)plt.show()注意:10 行で動かせる、というだけで、これがゴールではありません。 有害コンテンツ の本当の難しさは「描いた図をどう解釈するか」「報告にどう落とすか」にあります。
有害コンテンツ の結果を、ゼミ・卒論・社内会議で報告するときの定型文を 3 つ用意しました。 最初は丸ごとコピー、慣れたら差し替えて使ってください。
「本研究では、SSDSE-B-2026(n=47, 2023 年度)を用いて 有害コンテンツ を確認した。 主たる説明変数は F3101(都道府県別新聞発行部数(一般紙))であり、47 都道府県を対象とした分布の確認、相関の評価、有害コンテンツ を用いた分析を実施した。 分析の結果、上位 3 県・下位 3 県の特徴と、SSDSE-B-2026 には 47 都道府県のメディア接触・新聞発行部数の指標が含まれており、地域間の情報露出格差として「有害コンテンツ」の到達範囲を議論する素材になります。」
「都道府県別新聞発行部数(一般紙) を 47 都道府県で比較したところ、東京・神奈川・大阪など大都市圏が突出していることが分かった。 有害コンテンツ を用いた分析から、地域差は単に人口規模の違いだけでは説明できず、複数要因の組み合わせで生じていると示唆された。 今後の打ち手は、上位県のベストプラクティスを参考にしつつ、下位県への支援策を検討することである。」
「皆さん、有害コンテンツ はひとことで言うと『AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。』です。 今回は SSDSE-B-2026(総務省統計局, 47 都道府県, 2023 年度)を使って、実際の数字でこの考え方を確かめました。 皆さん自身でも、別の指標(人口、出生率、家計支出など)に置き換えて同じ手順を試してみてください。」
同じ用語でも、見る立場によって意味が変わります。3 つの視点を切り替えて、用語の輪郭を立体的に掴みましょう。
統計学者にとって 有害コンテンツ は「データから母集団を推定する道具」です。 確率モデル・尤度・不偏性・効率性・一致性などの数学的性質に注目し、漸近理論で性能保証を行います。 47 都道府県データは「小標本(n=47)」と分類され、bootstrap や情報量規準による補強が必要になります。
データサイエンティストにとって 有害コンテンツ は「ビジネス課題を数字で答えるパイプラインの 1 部品」です。 モデルの理論的性質より、運用性・解釈性・更新コストを重視します。 SSDSE のような公的データを用いるときは「データの出典・更新頻度・ライセンス」を最優先で確認します。
教育の現場では 有害コンテンツ は「初学者が躓きやすいポイント」を含む単元です。 抽象的な数式よりも、具体的な 47 都道府県データで手を動かし、図を描き、結果を口頭で説明できるようになることが目標になります。 本ページの並び(直感 → 数式 → 計算 → Python → 落とし穴)は、まさにこの教育的アプローチに沿っています。
視点切り替えの効果:1 つの用語を 3 通りに眺めると、自分が今どの立場で議論しているか自覚できます。 論文を読むときは ①、現場で使うときは ②、人に教えるときは ③ ── と意識的に切り替えてください。
有害コンテンツ と似た用語を、使い分けの観点から並べます。違いを言語化できれば、迷いが減ります。
| 用語 | 目的 | 入力 | 出力 | 強み | 弱み |
|---|---|---|---|---|---|
| 有害コンテンツ | AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。 | 47 都道府県 × 約 110 変数 | 図 + 表 + 200 字レポート | 直感的、再現容易 | 小標本(n=47)の制約 |
| 相関係数 | 2 変量の同調を 1 数で要約 | x, y の 47 ペア | r ∈ [−1, +1] | シンプル | 非線形は捉えられない |
| 線形回帰 | 条件付き期待値の線形近似 | 説明変数群 | 回帰係数・予測値 | 解釈容易 | 非線形には弱い |
| ロジスティック回帰 | 2 値分類 | 説明変数群 | 確率 + 係数 | 分類問題の標準 | 線形決定境界 |
| ランダムフォレスト | 非線形分類・回帰 | 大量変数 | 予測 + 重要度 | 非線形対応 | 解釈やや難 |
有害コンテンツ は AI 倫理 の中で「AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。」を担う基本道具です。AI 倫理 の他のトピックは、この基本の応用または並列の道具にあたります。
使えます。SSDSE-A(市区町村)、SSDSE-C(年次推移)、SSDSE-D・E(個票)など、有害コンテンツ の手順はそのまま適用できます。粒度(県・市・個人)に応じて n が変わるので、結果の信頼性も変わります。
SSDSE は年に 1 度更新されます。有害コンテンツ のコード自体は変更不要ですが、結果(数値・図)は最新年度のものに置き換えてレポートしましょう。出典欄に「SSDSE-B-2027(仮)」と書き換えるのを忘れずに。
できます。ピボット → グラフ → 関数 で代表値や相関は出ます。ただし、再現性・履歴管理・自動化の面で Python に劣ります。学習用には Python を強く勧めます。
進めます。有害コンテンツ は機械学習の「特徴量設計」と「結果解釈」の両端で必須です。AI と聞くと深層学習を連想しがちですが、SSDSE のような表形式データでは線形モデル + 有害コンテンツ の組み合わせで十分実用になります。
3 つ確認します:①ファイルパス(data/raw/SSDSE-B-2026.csv)が合っているか、②エンコーディングが cp932 か、③ヘッダ 2 行目の日本語ラベルを skiprows で飛ばしたか。これで 9 割解決します。
figures/ ディレクトリが存在しない可能性があります。import os; os.makedirs('figures', exist_ok=True) を先頭に追加してください。
本ページの 12 セクションを順に読み進めるのが最短です。特に「直感 → 数式 → 計算 → Python」の 4 段が腑に落ちれば、用語の 80 % は理解できたとみなせます。
このカードを印刷し、SSDSE-B-2026 で 1 回手を動かせば、用語の「使える形」が定着します。 有害コンテンツ はあくまで「AI システムが生成・推薦・拡散するコンテンツのうち、差別・暴力・誤情報・違法など、人や社会に害を与えるもの。」というシンプルな考え方の道具ですので、迷ったらこの 1 行に戻ってください。