뉴스 전문에 대한 분석이 필요하다. 뉴스 내부에서 키워드를 분석하는 과정은 다음과 같다.
위의 과정에서는 크게 두 가지 로직이 더 필요하다.
- 세그먼트 분리 후 불용어 제거 알고리즘
- 키워드 추출 알고리즘
NLP 모델 사용 - 단순 본문에서 중요한 키워드 하나만 추출하는데 NLP모델을 사용하기에는 많은 양의 뉴스 본문을 사용하려면 많은 양의 리소스가 필요하고, 필요없는 부분에서 많은 낭비가 생긴다.
단어별 빈도 수 측정 - 단순 빈도 기반 분석은 키워드 추출에서 부족한 점이 많다. 단어 간의 연관성을 이용하여 TF-IDF 기법을 사용할 수 있지만, 이것도 정확도 면에서 떨어지는 것은 사실이다.
텍스트 랭킹 - 그래프 기반의 알고리즘을 사용한다. 뉴스 기사 내에서 단어들의 연관성을 분석하여 중요한 단어를 추출할 수 있다. 이전의 TF-IDF 기법 보다는 더 높은 정확도를 가질 거로 예상.
클러스터링 기반 접근 - 뉴스 기사 내에서 단어들을 관련성에 따라 서로 클러스터링 한 후, 각 클러스터에서 중심 단어를 추출하는 방법이다. 아마 비슷한 내용을 다루는 기사가 많을 경우에는 정확도가 높을 것으로 예상.
컴퓨티 자원이 덜 필요하고, 높은 정확도를 가진 텍스트 랭킹 혹은 클러스터링 기반 접근이 좋다고 생각한다.
Vector DB 활용 : 위의 두 알고리즘 모두 단어간의 연관성이 중요하기 때문에, Vector DB를 활용하면 나중에 DB를 시각화 하여 주요 카테고리에 대한 정보도 쉽게 알 수 있다.
Batch 기반 데이터 저장 : 실시간으로 뉴스 정보에서 키워드를 추출하는 것이 아닌 Batch 단위로 일정 시간마다 새로운 뉴스 정보를 가져오면 리소스 낭비를 줄일 수 있다. Spring Batch 기술 스택 추가 가능