CoolFace
Apppublic

jonghhhh/fact-worthy-check

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
App README

๐Ÿ” FactWorthyCheck Pro

AI-powered Professional Fact-Worthy Claim Detection & Fact-Checking System

FactWorthyCheck Pro๋Š” ๋‹จ์ˆœํ•œ ์งˆ์˜์‘๋‹ต์„ ๋„˜์–ด, ํ…์ŠคํŠธ ๋‚ด์—์„œ ๊ฒ€์ฆ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ฃผ์žฅ(Fact-worthy Claims)์„ ์Šค์Šค๋กœ ์‹๋ณ„ํ•˜๊ณ , Google Search Grounding ๊ธฐ์ˆ ์„ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ์›น ์ฆ๊ฑฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์ „๋ฌธ ๊ธฐ์ž ํŽ˜๋ฅด์†Œ๋‚˜๋กœ ์—„๊ฒฉํ•œ ํŒฉํŠธ์ฒดํฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž๋™ํ™” ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.


๐ŸŽฏ ํ”„๋กœ์ ํŠธ ์ทจ์ง€ (Intent)

๊ฐ€์งœ ๋‰ด์Šค์™€ ์ •๋ณด ๊ณผ์ž‰์˜ ์‹œ๋Œ€์— ๋ชจ๋“  ๋ฌธ์žฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  1. 1.์„ ํƒ๊ณผ ์ง‘์ค‘: BERT(KcELECTRA) ๋ชจ๋ธ์„ ํ†ตํ•ด ๋‹จ์ˆœ ์˜๊ฒฌ์ด๋‚˜ ๊ฐํƒ„์‚ฌ๊ฐ€ ์•„๋‹Œ, ์‚ฌํšŒ์  ์˜ํ–ฅ๋ ฅ์ด ์žˆ๊ณ  ์‚ฌ์‹ค ๊ด€๊ณ„ ํ™•์ธ์ด ํ•„์š”ํ•œ ๋ฌธ์žฅ๋งŒ ์„ ๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  2. 2.์‹ค์‹œ๊ฐ„์„ฑ ๋ฐ ๊ทผ๊ฑฐ ์ค‘์‹ฌ: LLM์˜ ๋‚ด๋ถ€ ํ•™์Šต ์ง€์‹(Hallucination ์œ„ํ—˜)์— ์˜์กดํ•˜์ง€ ์•Š๊ณ , ๋ฐ˜๋“œ์‹œ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ(2024-2025 ์ตœ์‹  ์ •๋ณด)์™€ ๊ณต์‹ URL Context๋ฅผ ๊ทผ๊ฑฐ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. 3.์ „๋ฌธ์  ์‹ ๋ขฐ๋„: ํŒฉํŠธ์ฒดํฌ ์ „๋ฌธ ๊ธฐ์ž์˜ ๊ฒ€์ฆ ์ ˆ์ฐจ์™€ 6๋‹จ๊ณ„ ํŒ์ • ๊ธฐ์ค€์„ ์ ์šฉํ•˜์—ฌ ํˆฌ๋ช…ํ•˜๊ณ  ๋…ผ๋ฆฌ์ ์ธ ๋ฆฌํฌํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ›  ๊ฐœ๋ฐœ ๊ณผ์ • (Development Process)

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋‹จ๊ณ„๋ณ„ ๊ณ ๋„ํ™” ๊ณผ์ •์„ ๊ฑฐ์ณ ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  1. 1.Check-worthy ๋ชจ๋ธ ๊ตฌ์ถ•: CLEF CheckThat! Lab ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•œ๊ตญ์–ด์— ํŠนํ™”๋œ KcELECTRA ๊ธฐ๋ฐ˜์˜ ์ฃผ์žฅ ๊ฐ์ง€ ๋ชจ๋ธ์„ ๋ฏธ์„ธ ์กฐ์ •(Fine-tuning)ํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. 2.์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ์šฐ ์„ค๊ณ„: LangGraph๋ฅผ ๋„์ž…ํ•˜์—ฌ '๋ฌธ์žฅ ๋ถ„๋ฆฌ โ†’ ํŒ๋‹จ โ†’ ๊ฒ€์ƒ‰ โ†’ ๊ฒ€์ฆ โ†’ ๊ฒฐ๊ณผ ํ†ตํ•ฉ'์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๋ฃจํ”„๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  3. 3.Skill ํŒจํ„ด ์ ์šฉ: ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„ ๋กœ์ง์„ ๋…๋ฆฝ์ ์ธ Skill ๋ชจ๋“ˆ(WebSearchCollector)๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
  4. 4.Google Search Grounding ํ†ตํ•ฉ: Gemini์˜ ๊ณต์‹ ๊ฒ€์ƒ‰ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ต๋ณ€์˜ ๊ทผ๊ฑฐ๊ฐ€ ๋˜๋Š” ์‹ค์ œ URL ์ฃผ์†Œ๋ฅผ ๋ฆฌํฌํŠธ์— ํฌํ•จ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (Key Features)

  • โ€”BERT ๊ธฐ๋ฐ˜ ์ฃผ์žฅ ๊ฐ์ง€: 90%์— ๊ฐ€๊นŒ์šด ์ •ํ™•๋„๋กœ ํŒฉํŠธ์ฒดํฌ๊ฐ€ ํ•„์š”ํ•œ ๋ฌธ์žฅ์„ ์ž๋™ ์„ ๋ณ„.
  • โ€”Google Search Grounding: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ URL Context๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•˜์—ฌ ๊ทผ๊ฑฐ์˜ ํˆฌ๋ช…์„ฑ ํ™•๋ณด.
  • โ€”์ตœ์‹ ์„ฑ ์šฐ์„  ์ง€์นจ: 2024-2025๋…„ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์šฐ์„ ์ ์œผ๋กœ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜.
  • โ€”์ „๋ฌธ ๊ธฐ์ž ํŽ˜๋ฅด์†Œ๋‚˜: ์—„๊ฒฉํ•œ 4๋‹จ๊ณ„ ๊ฒ€์ฆ ์ ˆ์ฐจ(์ฃผ์žฅ ๋ถ„ํ•ด, ์ฆ๊ฑฐ ํ™•์ธ, ๊ต์ฐจ ๊ฒ€์ฆ, ๋งฅ๋ฝ ํ™•์ธ) ์ ์šฉ.
  • โ€”6๋‹จ๊ณ„ ํŒ์ • ์‹œ์Šคํ…œ: ์‚ฌ์‹ค, ๋Œ€์ฒด๋กœ ์‚ฌ์‹ค, ๋ฐ˜์€ ์‚ฌ์‹ค, ๋Œ€์ฒด๋กœ ๊ฑฐ์ง“, ๊ฑฐ์ง“, ํŒ๋‹จ ๋ถˆ๊ฐ€.

๐Ÿ— ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ (Architecture)

์—์ด์ „ํŠธ๋Š” LangGraph๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

  1. 1.Init: ์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ๋ฌธ์žฅ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  2. 2.Analyze (Skill): BERT ๋ชจ๋ธ์ด ๊ฐ ๋ฌธ์žฅ์˜ ํŒฉํŠธ์ฒดํฌ ํ•„์š”์„ฑ(Check-worthy)์„ ์ ์ˆ˜ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. 3.Verify (Skill): ๊ฐ€์น˜๊ฐ€ ๋†’์€ ๋ฌธ์žฅ์— ๋Œ€ํ•ด Google Search Grounding์„ ๊ฐ€๋™, ์ตœ์‹  ์ •๋ณด์™€ URL Context๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.
  4. 4.Report: ์ „๋ฌธ ๊ธฐ์ž ์ง€์นจ์— ๋”ฐ๋ผ ์ตœ์ข… 6๋‹จ๊ณ„ ํŒ์ • ๋ฐ ๊ทผ๊ฑฐ ๋ฆฌํฌํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ (Installation & Setup)

1. ํ™˜๊ฒฝ ๊ตฌ์„ฑ

Python 3.10 ์ด์ƒ ํ™˜๊ฒฝ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๊ณ  ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

bash
python -m venv .venv
source .venv/bin/activate  # Windows: .\.venv\Scripts\activate
pip install -r requirements.txt

2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

.env ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ํ•„์š”ํ•œ API ํ‚ค๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

env
GEMINI_API_KEY="your_api_key_here"
LLM_MODEL="gemini-2.0-flash"

๐Ÿ’ป ์‚ฌ์šฉ๋ฒ• (Usage)

CLI ๋ชจ๋“œ

ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ์ง€์ •ํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bash
python main.py --text "๊ฒ€์ฆํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์žฅ ์ž…๋ ฅ" --bert-threshold 0.6

Web UI ๋ชจ๋“œ

FastAPI ๊ธฐ๋ฐ˜์˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

bash
python app.py

์ดํ›„ http://localhost:8000์— ์ ‘์†ํ•˜์‹ญ์‹œ์˜ค.


โš–๏ธ ํŒ์ • ๊ธฐ์ค€ ๋ฐ ์ •์˜ (Verdict Standards)

์ „๋ฌธ ๊ธฐ์ž ์—์ด์ „ํŠธ๋Š” ๋‹ค์Œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์—„๊ฒฉํ•˜๊ฒŒ ํŒ์ •ํ•ฉ๋‹ˆ๋‹ค:

  • โ€”์‚ฌ์‹ค: ์ถฉ๋ถ„ํ•œ ๊ธ์ • ๊ทผ๊ฑฐ๋งŒ ์กด์žฌํ•˜๊ณ  ๋ถ€์ • ๊ทผ๊ฑฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
  • โ€”๋Œ€์ฒด๋กœ ์‚ฌ์‹ค: ๊ธ์ • ๊ทผ๊ฑฐ๊ฐ€ ์šฐ์„ธํ•˜๋‚˜ ์ผ๋ถ€ ๋ถ€์ • ๊ทผ๊ฑฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
  • โ€”์‚ฌ์‹ค ๋ฐ˜ ๊ฑฐ์ง“ ๋ฐ˜: ๊ธ์ •๊ณผ ๋ถ€์ • ๊ทผ๊ฑฐ๊ฐ€ ์ ˆ๋ฐ˜์”ฉ ํ˜ผ์žฌ๋œ ๊ฒฝ์šฐ
  • โ€”๋Œ€์ฒด๋กœ ๊ฑฐ์ง“: ๋ถ€์ • ๊ทผ๊ฑฐ๊ฐ€ ์šฐ์„ธํ•˜๋‚˜ ์ผ๋ถ€ ๊ธ์ • ๊ทผ๊ฑฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
  • โ€”๊ฑฐ์ง“: ๋…ผ๋ฆฌ์  ๊ทผ๊ฑฐ๊ฐ€ ์ „ํ˜€ ์—†๋Š” ๊ฒฝ์šฐ
  • โ€”ํŒ๋‹จ ๋ถˆ๊ฐ€: ์ž๋ฃŒ ๋ถ€์กฑ ๋˜๋Š” ํŒ์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ

๐Ÿ“„ ๋ผ์ด์„ ์Šค

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” MIT License๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.