코딩관계론

RAG를 활용한 주식 테마 관련 뉴스 필터링 본문

개발/Hot-Stock

RAG를 활용한 주식 테마 관련 뉴스 필터링

개발자_티모 2025. 1. 29. 22:47
반응형

1. 문제 정의: 테마 관련 뉴스 판별 필요성

주식 시장에는 AI, 2차전지, 신재생에너지, 원전 등 다양한 테마가 존재합니다. 하지만 테마 키워드로 뉴스를 크롤링하면 실제 투자에 유용하지 않은 정보성 없는 뉴스들이 포함되는 문제가 발생합니다.

예를 들어, "원자력발전소" 키워드로 크롤링할 경우:

  • 원전 설비나 정책이 아닌 단순 지역 축제 소식 등 무가치한 정보가 포함될 수 있습니다.
  • 따라서 테마와 관련 있는 뉴스만 정확히 필터링하는 로직이 필수적입니다.

초기 시도했던 접근 방법

  1. 간단한 규칙 기반 필터링
    • 사전 정의된 키워드로 뉴스를 걸러냄
    • 문제점: 키워드 변형이나 문맥 차이로 중요한 뉴스를 놓치거나 무관한 뉴스가 필터링되지 않는 문제 발생
  2. 모델 파인튜닝
    • 테마 관련 여부 데이터셋으로 모델 튜닝
    • 문제점: 높은 튜닝 비용과 유지보수 어려움

2. 모델 학습 없이 성능 개선: RAG와 외부 지식 활용

2-1. RAG (Retrieval Augmented Generation) 개념

RAG는 외부 지식을 활용해 LLM의 정확도를 높이는 기법입니다. 모델의 내부 파라미터를 재학습하지 않아도 최신 정보와 정확한 콘텐츠를 활용할 수 있습니다.

2-2. RAG 적합성

  • 모델 튜닝 없이 외부 지식을 참조해 성능 향상 가능
  • 크롤링된 뉴스를 외부 지식(DB에 저장된 주식 상승 이유 등)과 비교해 뉴스의 정보성 판단 가능

2-3. 실제 뉴스와 DB 매칭 사례

DB에 저장된 정보 예시:

더보기

"트럼프 대통령의 친원전 정책과 원자력 산업 재조성으로 인해 전방의 원자력 관련 사업이 움츠러들지 않고 성장할 것으로 예상됩니다. 이는 트럼프 행정부의 에너지 자립 정책 연장선상이며, 원자력 밸류체인 확장은 주가 상승 이유 중 하나입니다."

  • 크롤링 뉴스 예시: "○○지역 원자력발전소에서 열린 문화행사 소식"
  • 벡터 DB 리트리벌 결과: 원자력 테마주의 상승 주요 이유(정책, 산업 확장 등)
  • LLM 판단 결과:
    • "이 뉴스는 원자력 키워드만 포함하고, 실제 주가 상승 사유와 관련이 없어 정보성이 낮음"으로 판단하여 필터링

3. 결과

RAG 적용 전후 비교 (GPT-4 mini 기준)

  • RAG 적용 전: 정보성 없는 뉴스 혼입
  • RAG 적용 후: 정보성 높은 뉴스만 정확히 필터링

결과적으로 정보성이 떨어지는 뉴스는 제거되고 투자에 유용한 뉴스만 남았습니다.

결론

  • 정보성이 없는 뉴스를 걸러내기 위해 RAG를 도입하여 효율적으로 테마 관련 뉴스를 필터링했습니다.
  • 벡터 DB에 주식 상승/하락 이유를 구조적으로 저장하고, 이를 활용해 정확히 뉴스의 정보성을 판단했습니다.
  • 파인튜닝 비용을 절약하고 주식 테마 분석의 효율성을 향상시켰습니다.

향후 테마별 특징, 정책 및 산업 동향을 지속적으로 벡터 DB에 업데이트하고 프롬프트 설계를 개선하여 더욱 정확한 뉴스 필터링 성능을 유지하고 발전시킬 예정입니다.

추가 꿀팁

GPT-4 mini 모델에서 외부 지식을 효과적으로 전달하려면 아래 방식을 활용하면 좋습니다.

"Step 2. 외부 지식:\n"
"   - <externalKnowledge></externalKnowledge> XML 내부 JSON 역직렬화:\n"
"     - content\n"
"   - 역직렬화된 객체들은 externalInfoDTO로 명명한다.\n\n"
반응형