Actions
기능 #754
진행중[Feature] 긍정 키워드 제거 및 부정 판정 단일화
기능 #754:
[Feature] 긍정 키워드 제거 및 부정 판정 단일화
시작일:
2026/07/01
완료일:
2026/07/07 (기한 5일)
진척도:
0%
추정시간:
(합계: 0:00 시간)
설명
h2. 분석 요약
현재 설명하신 프로세스와 코드가 일치한다. 감성 판정이 활성화된 모니터링에서 codes/lambda/monitoring-worker-lambda/src/sentiment_analyzer.py와 codes/lambda/monitoring-api-lambda/src/sentiment_analyzer.py의 SentimentAnalyzer.analyze는 기사 제목에 긍정 키워드만 매칭되면 POSITIVE/TITLE_KEYWORD로 LLM 없이 종료하고, 부정 키워드만 매칭되면 NEGATIVE/TITLE_KEYWORD로 LLM 없이 종료한다. 긍정/부정 키워드가 모두 없거나 양쪽 모두 매칭되면 Azure OpenAI LLM 2차 판정을 호출한다.
현재 영향 범위:
- 전역 키워드 설정: KeywordConfigPage와 monitoring-api-lambda의 put_keyword_config_item/list_all_keywords/list_config_options가 SEARCH, POSITIVE, NEGATIVE를 모두 관리한다.
- 실행 판정: Worker가 전역 POSITIVE/NEGATIVE 키워드를 조회해 SEARCH_JOB에 넣고 ArticleRepository가 SentimentAnalyzer에 positive_keywords와 negative_keywords를 모두 전달한다.
- 보도자료 후보 수동 승인: monitoring-api-lambda의 _manual_approval_sentiment_result도 POSITIVE/NEGATIVE 전역 키워드를 모두 전달한다.
- 화면/통계: 기사 목록, 보도자료 목록, 언론사/기자 통계 화면은 POSITIVE/NEGATIVE/NEUTRAL 톤 필터와 카운트를 표시한다.
- 기존 #746 계열 일감은 모니터링별 긍부정 키워드 커스터마이징을 다루므로, 이번 변경과 범위 정합성을 먼저 맞춰야 한다.
h2. 목표
긍정 키워드 관리와 긍정 판정 경로를 제거하고, 부정 키워드만 관리하며 부정 여부만 판정한다. 제목에 부정 키워드가 포함되면 1차 부정 판정으로 종료하고, 부정 키워드가 없으면 2차 LLM이 부정/중립 여부를 판정한다. 신규 기능과 화면에서는 POSITIVE 관리/필터/카운트가 노출되지 않게 한다.
h2. 완료 기준
- 전역 키워드 설정과 생성 화면에서 긍정 키워드 관리가 제거된다.
- SentimentAnalyzer와 LLM 프롬프트가 부정/중립 판정 중심으로 정리된다.
- Worker 자동 수집과 보도자료 수동 승인 모두 부정 키워드만 사용한다.
- 기존 POSITIVE 데이터와 기존 POSITIVE 기사 projection의 조회/통계 호환 정책이 확정되고 구현된다.
- #746 계열 일감의 긍정 키워드 커스터마이징 범위가 이번 변경과 충돌하지 않게 조정 기준이 남는다.
- API/Worker/Web 회귀 테스트와 운영 확인 절차가 남는다.
주연 장이(가) 하루 전에 변경
진행 순서와 선후행 규칙입니다.
- #755 Contract: 부정 전용 판정 계약, legacy POSITIVE 데이터 처리, #746 계열 일감과의 정합성을 먼저 확정합니다. 이 산출물과 커밋이 모든 후행 일감의 기준입니다.
- #756 API/Data: #755 완료/커밋 이후 시작합니다. 긍정 키워드 전역 관리 미노출/차단과 부정 키워드 API 계약을 먼저 완성하고 커밋합니다.
- #757 Worker/API Sentiment Engine, #758 Web Config, #759 Reporting UI: #756 완료/커밋 이후에만 시작합니다. 각 일감은 서로 병행 가능하지만, 서로의 미완성 코드를 전제로 진행하지 않습니다.
- #761 Test: #757, #758, #759가 모두 완료되고 각각 커밋된 뒤 시작합니다. POSITIVE 신규 생성 방지, 부정 키워드 조기 종료, LLM 부정/중립 판정, legacy 데이터 조회 안정성을 검증합니다.
- #760 Ops: #761 완료/커밋 이후 시작합니다. 운영 데이터 처리나 배포 확인은 별도 승인 후 진행하고 결과를 노트에 남깁니다.
선수행 일감의 산출물이나 코드가 후행 일감에 쓰이는 경우, 선행 일감은 완료 상태와 커밋 기록까지 확인된 뒤 후행 일감을 진행합니다. 실제 작업을 시작할 때만 상태를 진행으로 변경합니다.
Actions