# InsuRo 키워드 풀 노이즈 필터 강화 + 재실행

## 작업 레벨: Lv.1

## 프로젝트
- InsuRo 서버: `/home/jay/projects/InsuRo/server`

## 문제
keyword_pool_refresh.py 최초 실행 결과, 2,000개 키워드 중 "기타" 카테고리 485개에 보험 무관 키워드가 다수 포함됨.

예시: 나스닥선물(월 398만), 주가지수(월 115만), 테슬라주가(월 106만), 유럽증시, 엔비디아주가, 종합주가지수, 증권, 다우나스닥 등

원인: BLOCKLIST_PATTERNS에 `대출|카드|주식`은 있으나, SearchAd 연관 확장 시 딸려오는 증시/투자 키워드 패턴이 빠져있음.

## 수정 사항

### `server/scripts/keyword_pool_refresh.py`

BLOCKLIST_PATTERNS에 아래 패턴 추가:

```python
BLOCKLIST_PATTERNS = [
    r"채용|연봉|시험",
    r"사기|먹튀|고소",
    r"대출|카드|주식",
    # 추가 필터
    r"나스닥|코스피|코스닥|증시|증권|주가|선물|etf|펀드|배당",
    r"부동산|아파트|전세|월세|분양",
    r"금리|환율|달러|엔화|비트코인|코인",
    r"세금|세무|연말정산|종합소득세|부가세",
    r"은행|적금|예금|통장",
]
```

★ 기존 3개 패턴은 유지하고, 5개 패턴만 추가
★ 보험과 관련 없는 금융/부동산/세금/암호화폐 키워드를 걸러냄
★ "보험"이 포함된 키워드는 블록리스트에 매칭되어도 통과시키는 화이트리스트 로직 추가 검토:
  - is_blocked 함수에서 "보험" 포함 키워드는 블록 면제하는 것이 안전

### 수정 후 재실행

```bash
cd /home/jay/projects/InsuRo/server
source /home/jay/workspace/.env.keys
python3 scripts/keyword_pool_refresh.py
```

- 기존 2,000개 중 노이즈가 비활성화되고, 보험 관련 키워드로 재충전
- 실행 후 keywords 테이블에서 "기타" 카테고리 비율이 감소했는지 확인
- 상위 20개 키워드가 모두 보험 관련인지 확인

## affected_files
- `server/scripts/keyword_pool_refresh.py` (수정 — BLOCKLIST_PATTERNS 추가)

## 검증 시나리오
1. BLOCKLIST_PATTERNS에 8개 패턴 존재 확인 (기존 3 + 신규 5)
2. keyword_pool_refresh.py 재실행 성공
3. keywords 테이블 활성 키워드 수 확인 (1,500~2,000개 범위)
4. 상위 20개 키워드가 보험 관련인지 확인 (나스닥/주가 등 없음)
5. "보험" 포함 키워드가 블록리스트에 의해 잘못 제거되지 않았는지 확인
6. "기타" 카테고리 비율이 이전(485/2000=24%) 대비 감소했는지 확인
