forked from boostcampwm-2024/web17-juchumjuchum
-
Notifications
You must be signed in to change notification settings - Fork 1
뉴스 요약 AI 서비스 기획안
김두종 edited this page Feb 6, 2025
·
3 revisions
- 유익한 정보제공
- “주춤주춤”은 “초보 투자자를 위한 주식 정보 커뮤니티”를 목적으로하고 있는 서비스 입니다. 주식 초보자들은 주가변동에 주요 요소중 하나인 기업 상황, 대외 변수 등을 단번에 확인해볼 수 있는 수단이 부족합니다. 최신 뉴스 정보를 요약해주는 AI 기능을 도입한다면 사용자들에게 유익한 정보를 제공할 수 있을 것으로 기대됩니다.
- 인사이트 제공
- 주식 서비스에서 AI 기능 도입에는 책임 부재의 문제가 있었습니다. 사용자에게 인사이트를 제공해줄 수 있지만, 그로 인해 손해를 보게 되는 경우 아무도 손해에 대한 책임을 해결할 수 없습니다. 이를 위해선 사용자에게 인사이트를 제공하되, 투자를 유도하지 않는 AI서비스의 도입을 기획해 보았습니다.
- 단순한 뉴스 제공이 아닌 뉴스 요약이 필요한 이유
- 또한, 사용자들이 방대한 양의 뉴스를 모두 살펴보고 분석할 시간이 부족하고, 여러 매체의 뉴스를 종합적으로 파악하기 어렵기 때에 단순한 뉴스 링크 제공보다 뉴스를 요약해주는 서비스가 필요하다고 판단했습니다.
- 현재 주식 페이지는 위처럼 주식의 단순한 정보와, 사용자들끼리 의견을 나눌 수 있는 채팅 기능만을 제공하고 있습니다.
- 이 정보를 이용해서 앞으로의 동향을 파악하기에는 무리가 있다고 판단했습니다.
- 기존 제공하던 기능 외에도, AI 뉴스 요약 기능을 추가할 예정입니다. 위 화면에서처럼 화면 왼쪽 상단의
뉴스 보기
버튼을 클릭하면 최근 발표된 기사들을 요약한 내용과 긍적적/부정적인 내용을 알려주는 기능을 만들고자 합니다. - 뉴스의 출처를 밝혀 뉴스 요약 AI서비스를 사용하는 사용자가 내용이 더 궁금한 경우 해당 뉴스로 접속할 수 있도록 할 예정입니다.
- 매일매일의 뉴스 요약만을 확인하는 것이 아니라, 그전 요약한 뉴스도 함께 확인할 수 있어 종목이 어떻게 변화하고 있는지 파악할 수 있는 기능을 제공합니다.
- 토스증권의 기능을 참고하였습니다.
- 현재 총 상장한 기업수는 22년도 기준으로 2,437개 입니다. 이 모든 기업에 대해서 요약하는 것은 사실상 불가능하다고 생각했습니다.
- 주어진 환경에 비해서 너무 많은 비용이 발생할 수 있음
- 어떤 종목의 뉴스를 요약 해야 사용자들에게 유익한 정보를 줄 수 있을까?
- 코스피 기준 시가총액 10위를 기준으로 요약해서 제공하기로 결정했습니다.
- 요약하고자 하는 종목에 대한 뉴스를 찾는 것이 어려움이 있었습니다. 이를 해결하기 위해서 뉴스 요약 또는 뉴스 정보 제공을 하는 API가 있는지 탐색해봤습니다.
- 뉴스토어 API : 언론사 별로 검색 가능하지만, API 옵션값이 너무 많아 하나씩 찾아서 조정하기에는 시간이 너무 오래걸릴것으로 예상됩니다.
- 딥서치 뉴스 API : 검색어만으로도 뉴스 정보를 제공해주고, 요약 기능 까지 제공 하지만 유료 API로 한달의 300개의 요청만을 무료로 사용할 수 있기 떄문에 사용하는 것을 어려울것으로 판단했습니다.
- 네이버 뉴스 API : 검색어를 기준으로 뉴스를 검색해서 반환해주는 API이고 시간순, 정확도순으로 뉴스를 정렬도 할 수 있지만 모든 뉴스 내용을 제공해주지않고 일부의 내용만을 제공해주고, 더 자세한 내용을 파악하기 위해서 원본 URL을 제공해주는 번거로움이 있었습니다.
- 위 3가지의 API중 네이버 뉴스 API를 사용하고 + 원본 URL을 이용해 크롤링을 하기로 결정했습니다.
- 사이트마다 HTML 형식이 다르기 때문에 뉴스를 확인하는 사이트를 하나로 통일할 필요가 있었습니다. 네이버 뉴스 API에서 얻어온 기사 정보로부터 원본 링크가 [naver.news](http://naver.news) 사이트에 있는 뉴스만을 크롤링하는 방식을 사용하기로 했습니다.
- 요약해야하는 기사 갯수가 늘어나면서 토큰 제한에 걸릴 수 있는 어려움이 있다고 생각합니다.
- hyperclova X 모델의 종류에 따라 제공하는 입출력 토큰의 갯수를 잘 파악해서 이에 맞게 기사 갯수를 조정하는 과정이 필요하다고 판단됩니다.
- 요약된 뉴스 정보를 정형화된 형태로 받아올 수 있는지가 명확하지 않아서, 응답 데이터를 파싱하는 과정에 문제가 생길 수 있다고 생각합니다.
- 요약한 뉴스 정보가 잘 요약된 정보인지 판단하는 로직을 구성하는 데에 어려움이 있을 수 있다고 생각합니다.
- 주식1개당 뉴스가 여러개이고 뉴스 1개당 기사가 여러개인 상황입니다.
- 뉴스를 저장할때 또다시 1:N 관계로 링크들을 저장한다면 얻는 이익에 비해 조회/쓰기시 효율이 떨어진다고 판단했습니다.
- 따라서 link를 link1,link2,link3 … 와 같이 콤마로 구분하여 저장하고, 클라이언트에서 파싱후 사용자에게 보여주는 방식으로 구현하였습니다.
- [1주 2일차 합동 개발 일지](marketCap 데이터 null 이슈 해결)
- 인터셉터를 이용한 로거 개발기
- 배포 환경에서 웹 소캣 연결 실패 문제 해결
- Github Actions를 이용한 CI CD 구축
- nGrinder 테스트 시나리오
- nGrinder TPS가 측정되지 않는 문제
- 메트릭 수집에 필요한 툴들 설치하기
- Node Exporter 연결 안되는 문제
- StockService에서 Repository 계층 분리하기
- Server와 Grafana연동하기
- Guest 로그인 중복 문제 해결