ファクトチェック機能で記事の信頼性向上
AI生成記事の最大の課題
AIで記事を書くと、もっともらしいけど間違った情報が混じることがある。いわゆる「ハルシネーション」(幻覚)だ。
特にSEO記事では、以下のような問題が起きやすい:
– 古い法令を引用している
– 統計データの出典が不明
– 専門用語の定義が微妙にズレている
そこで、AIが生成した記事を自動でファクトチェックする機能を実装した。
実装の仕組み
1. クレーム抽出
記事内の「事実を主張している文」を抽出。
def extract_claims(article_text):
# 数値・パーセンテージ・引用を含む文を抽出
claims = []
for sentence in split_sentences(article_text):
if contains_factual_claim(sentence):
claims.append(sentence)
return claims
ファクトチェック対象の例:
– 「厚生労働省の調査によると、保育士の離職率は39.7%」
– 「2024年の改正労働基準法では〜」
– 「経理職の有効求人倍率は0.5倍」
2. 出典の検証
クレームごとに、信頼できる情報源と照合。
def verify_claim(claim):
# 1. 官公庁サイト(e-Gov、厚労省、総務省など)
# 2. 学術論文(Google Scholar)
# 3. 統計データ(e-Stat)
sources = search_reliable_sources(claim)
if sources:
return {
'claim': claim,
'verified': True,
'sources': sources
}
else:
return {
'claim': claim,
'verified': False,
'warning': '出典が見つかりません'
}
3. データの鮮度チェック
古いデータを引用していないか確認。
def check_freshness(claim, source):
publication_date = extract_date(source)
age_in_days = (datetime.now() - publication_date).days
if age_in_days > 365:
return {
'warning': f'データが{age_in_days}日前のものです',
'recommendation': '最新データへの更新を推奨'
}
4. レポート生成
📋 ファクトチェックレポート
✅ 検証済み: 8件
⚠️ 要確認: 2件
❌ 出典不明: 1件
---
【要確認】
- 「保育士の離職率は39.7%」
→ 令和4年調査で確認済み。ただし2024年の最新データあり(41.2%)。更新推奨。
【出典不明】
- 「経理職の有効求人倍率は0.5倍」
→ 出典が見つかりません。ハローワークの最新データを確認してください。
実際の使用例
ケース1: 古いデータの検出
生成された記事:
「厚生労働省の2017年調査によると、派遣労働者への教育訓練実施率は28.3%」
ファクトチェック結果:
⚠️ データが2017年(7年前)のものです。令和4年調査では39.7%に上昇しています。
→ 最新データに差し替え。
ケース2: 法令の確認
生成された記事:
「労働基準法第36条により、残業は月45時間まで」
ファクトチェック結果:
✅ 検証済み。e-Govで条文を確認しました。
参考: https://elaws.e-gov.go.jp/document?lawid=322AC0000000049
ケース3: ハルシネーションの検出
生成された記事:
「2024年の改正職業安定法では、求人広告に年齢制限を記載することが完全に禁止されました」
ファクトチェック結果:
❌ 2024年の改正職業安定法にそのような記載はありません。年齢制限の禁止は2007年の雇用対策法改正です。
実装の工夫
信頼できる情報源の定義
TRUSTED_SOURCES = [
'e-gov.go.jp', # 法令データ
'mhlw.go.jp', # 厚生労働省
'meti.go.jp', # 経済産業省
'e-stat.go.jp', # 統計データ
'jil.go.jp', # 労働政策研究所
]
キャッシュ機能
同じ統計データを何度も検索しないよう、検証結果をキャッシュ。
fact_check_cache = {}
def verify_with_cache(claim):
if claim in fact_check_cache:
return fact_check_cache[claim]
result = verify_claim(claim)
fact_check_cache[claim] = result
return result
結果
- 検証精度: 92%(手動確認と比較)
- 検証時間: 1記事あたり3-5分
- 誤情報検出: 10記事中2件でハルシネーションを検出
SEO記事の信頼性が大幅に向上。クライアントからの信頼も高まった。
今後の改良
- リアルタイム検証: 記事生成中にその場で検証
- 自動修正: 誤情報を検出したら正しい情報に自動置換
- 引用フォーマット: 参考文献を自動で整形(APA/MLA形式)
関連記事:
– SEO記事を自動生成するワークフローを構築した
– 一次情報を自動で引用する仕組み
この記事は「中野のAI開発部屋」で公開中のSEO記事生成シリーズです。