← 전체로 돌아가기
프로젝트 메모 python -home-son-prj-videoShort

skip Japanese GTC sessions

일본어 세션(ID suffix or title) 필터링해서 노이즈 제거함

pythoncrawlerfilteringgtc

GTC crawler에서 일본어 세션 건너뛰기

crawl/gtc/orchestrate.py:filter_sessions()

  1. ID가 jp로 끝나는 경우 (예: gtc26-s81719jp)
  2. 영어 원본이랑 중복이라 디스크 낭비 + 결과 지저분함.
  3. Title에 히라가나(U+3040–U+309F)나 가타카나(U+30A0–U+30FF) 포함된 경우
  4. 일본어 네이티브 세션. 자막도 없고 transcript 단계에서 어차피 에러 남.

crawl/gtc/batch.pycrawl/gtc/transcripts.py는 아직 ID suffix 규칙만 있음. 나중에 재사용할 거면 title 규칙도 같이 넣어줘야 함.

--include-jp flag - CLI 도구에서 일본어 포함해서 돌리고 싶을 때 사용. - orchestrate.py에는 아직 없음. 필요하면 추가.

wtf why did i let jp sessions in before

여기서 배울 것

  1. ID suffix로 중복 데이터 필터링
  2. 유니코드 범위로 일본어 텍스트 판별
  3. 불필요한 작업(transcript) 미리 차단해서 큐 관리
원본 파일 보기 (.claude/projects/-home-son-prj-videoShort/memory/feedback_skip_jp_sessions.md)
---
name: skip Japanese GTC sessions
description: Don't download GTC sessions whose ID ends in `jp` OR whose title contains hiragana/katakana — user doesn't want any Japanese-language sessions.
type: feedback
originSessionId: 90be4ed5-98ef-41d5-ac20-b287aa4c4b65
---
For the GTC on-demand crawler in `crawl/gtc/`, exclude two classes of session by default:

1. `id` ends in `jp` (e.g. `gtc26-s81719jp`) — Japanese-localized variants of English originals (matching base id, near-identical `videoSeconds`).
2. `title` contains hiragana (U+3040–U+309F) or katakana (U+30A0–U+30FF) — natively Japanese-authored sessions (no English captions; would fail the transcript step anyway and add noise to the queue).

**Why:** First confirmed on 2026-05-02: JP-suffix duplicates waste disk and clutter results. On 2026-05-03 the user observed natively Japanese sessions appearing in the orchestrator queue and asked to drop those too.

**How to apply:** `crawl/gtc/orchestrate.py:filter_sessions()` enforces both rules. `crawl/gtc/batch.py` and `crawl/gtc/transcripts.py` only enforce the suffix rule via `select()` — extend with the title rule if those tools are reused for fresh crawls. `--include-jp` flag overrides on the CLI tools (no override on orchestrate.py — add one if a Japanese-only run is ever requested).