요약
•
파일 1개로도 자동 점검 가능하게 설계합니다: abuse_audit.csv
•
핵심은 “글 1건=1행”이고, **리스크 신호를 점수화(0~100) + 플래그(경고 사유 문자열)**로 뽑아내는 구조입니다.
•
링크 그래프까지 자동화하려면(허브 회귀/고아문서) content_links.csv를 추가하면 더 정확해집니다(선택).
1) abuse_audit.csv 컬럼 설계
A. 식별/운영 메타(필수)
컬럼 | 타입 | 예시 | 자동 점검에서의 용도 |
asset_id | string | A-20251214-001 | 고유키 |
title | string | 서울 재건축 단계별 리스크 | 제목 반복 탐지 |
publish_date | date | 2025-12-14 | 기간별 연속 패턴 탐지 |
status | enum | draft/published/updated | 점검 대상 필터 |
core_topic | string | 서울 정비사업 | 주제 확산 탐지 |
sub_cluster | string | 리스크 | 편중/쏠림 탐지 |
role | enum | pillar/support/case/update | 역할 불균형 탐지 |
intent_type | enum | info/decision/howto/news | 의도-구조 불일치 탐지 |
hub_asset_id | string | A-20251201-000 | 허브 회귀 필요성 판단 |
B. “반복” 자동 탐지용 특징값(필수)
컬럼 | 타입 | 예시 | 설명 |
title_signature | string | sig_7f2a | 제목 정규화 해시(공백/숫자/특수문자 제거 후 해시) |
outline_signature | string | sig_91bc | 소제목 목록 정규화 해시(같은 구조 반복 감지) |
template_group | string | T-DECISION-01 | 운영자가 부여하는 템플릿 군(안전장치) |
similarity_prev_n | int(0-100) | 72 | 직전 N개 글과 유사도(사전 계산 값 입력) |
reused_paragraphs_cnt | int | 3 | 재사용 문단 수(사전 계산 값 입력) |
핵심 포인트: “자동”을 위해 *_signature(해시) 또는 similarity_*(수치)를 넣습니다.
글 원문을 CSV에 넣지 않아도 “반복”을 탐지할 수 있습니다.
C. “저품질/구조 누락” 자동 탐지용(필수)
컬럼 | 타입 | 예시 | 설명 |
word_count | int | 2100 | 과도한 박스/짧은 글 탐지 |
has_conclusion_first | bool | TRUE | D.I.A 기본 구조 |
has_evidence_block | bool | TRUE | 근거 블록 |
has_counter_risk | bool | TRUE | 반론/리스크 블록 |
has_actionable | bool | TRUE | 체크리스트/가이드 |
has_scope_statement | bool | TRUE | 범위 선언(주제 확산 방지) |
sources_count | int | 4 | 출처 수(0이면 위험) |
originality_type | enum | case/data_rework/framework/none | none이면 위험 |
D. “AI 과다/책임 부재” 자동 탐지용(필수)
컬럼 | 타입 | 예시 | 설명 |
ai_used | bool | TRUE | AI 사용 여부 |
ai_usage_scope | enum | research/outline/edit/none | 사용 범위 |
ai_ratio_est | int(0-100) | 65 | AI 기여율 추정 |
has_human_judgement | bool | TRUE | ‘내 판단/실무상’ 문단 여부 |
hedging_rate | int(0-100) | 35 | “~일 수/가능/추정” 과다 여부(사전 계산 입력) |
E. “낚시/불일치/과장” 자동 탐지용(권장)
컬럼 | 타입 | 예시 | 설명 |
title_body_mismatch | bool | FALSE | 제목-본문 불일치(사전 점검) |
sensational_terms_cnt | int | 0 | “무조건/확실/대박” 등 과장어 카운트 |
keyword_stuffing_score | int(0-100) | 10 | 키워드 반복 과다 점수(사전 계산 입력) |
external_links_cnt | int | 1 | 외부 링크 과다 탐지 |
F. “방치/신선도” 자동 탐지용(권장)
컬럼 | 타입 | 예시 | 설명 |
last_update_date | date | 2025-12-20 | 방치 탐지 |
freshness_needed | bool | TRUE | 시의성 필요한 글인지 |
days_since_update | int | 12 | 자동 계산 값 입력(또는 SQL로 계산) |
update_log_included | bool | TRUE | 업데이트 로그 |
G. 자동 점검 결과(필수)
컬럼 | 타입 | 예시 | 설명 |
abuse_risk_score | int(0-100) | 68 | 종합 위험 점수(계산 결과) |
abuse_risk_level | enum | low/med/high | 등급 |
abuse_flags | string | REPEAT_OUTLINE,NO_RISK_BLOCK | 경고 사유(콤마) |
recommended_fix | string | 반론블록 추가,소제목 구조 변경 | 자동 처방(템플릿 기반) |
2) 자동 점검 규칙(경고 로직) — “점수 + 플래그” 추천
A. 반복(Repeat) 플래그
•
title_signature가 최근 30일 내 2회 이상 → REPEAT_TITLE
•
outline_signature가 최근 30일 내 2회 이상 → REPEAT_OUTLINE
•
similarity_prev_n ≥ 75 → HIGH_SIMILARITY
•
reused_paragraphs_cnt ≥ 2 → REUSED_TEXT
B. 구조 누락(Thin/Incomplete) 플래그
•
word_count < 800 → THIN_CONTENT
•
has_conclusion_first = FALSE → NO_CONCLUSION_FIRST
•
has_evidence_block = FALSE → NO_EVIDENCE
•
has_counter_risk = FALSE → NO_RISK_BLOCK
•
has_actionable = FALSE → NO_ACTIONABLE
•
sources_count = 0 → NO_SOURCES
•
originality_type = 'none' → NO_ORIGINALITY
C. AI 과다/책임 부재 플래그
•
ai_ratio_est ≥ 70 → AI_HIGH
•
ai_ratio_est ≥ 70 AND has_human_judgement = FALSE → AI_HIGH_NO_JUDGEMENT (고위험)
•
hedging_rate ≥ 70 → TOO_MUCH_HEDGING
D. 낚시/불일치/과장 플래그
•
title_body_mismatch = TRUE → INTENT_MISMATCH
•
sensational_terms_cnt ≥ 2 → SENSATIONAL_TONE
•
keyword_stuffing_score ≥ 70 → KEYWORD_STUFFING
•
external_links_cnt ≥ 5 → EXTERNAL_LINKS_MANY
E. 방치/신선도 플래그
•
freshness_needed = TRUE AND days_since_update ≥ 90 → STALE_CONTENT
•
update_log_included = FALSE AND freshness_needed = TRUE → NO_UPDATE_LOG
3) abuse_risk_score 예시 가중치(권장)
“자동 점검”은 단순해야 유지됩니다. 아래처럼 가중치 합산이 가장 운영 친화적입니다.
•
반복(Repeat): 최대 40점
◦
REPEAT_OUTLINE(20) + HIGH_SIMILARITY(15) + REPEAT_TITLE(10)
•
구조 누락(Thin/Incomplete): 최대 40점
◦
NO_RISK_BLOCK(15) + NO_EVIDENCE(15) + THIN_CONTENT(10) + NO_ACTIONABLE(10)
•
AI/책임(AI/Judgement): 최대 20점
◦
AI_HIGH(10) + AI_HIGH_NO_JUDGEMENT(20, 단독 상한 적용)
등급
•
0~29: low
•
30~59: med
•
60~100: high
4) CSV 헤더 예시(그대로 복사해서 시작)
아래 한 줄을 CSV 1행(헤더)로 쓰시면 됩니다.
asset_id,title,publish_date,status,core_topic,sub_cluster,role,intent_type,hub_asset_id,title_signature,outline_signature,template_group,similarity_prev_n,reused_paragraphs_cnt,word_count,has_conclusion_first,has_evidence_block,has_counter_risk,has_actionable,has_scope_statement,sources_count,originality_type,ai_used,ai_usage_scope,ai_ratio_est,has_human_judgement,hedging_rate,title_body_mismatch,sensational_terms_cnt,keyword_stuffing_score,external_links_cnt,last_update_date,freshness_needed,days_since_update,update_log_included,abuse_risk_score,abuse_risk_level,abuse_flags,recommended_fix
Plain Text
복사
