/**
 * 불용어(Stopwords) 관리 유틸리티
 * 한국어와 영어 불용어를 통합 관리
 */
// 영어 불용어 리스트
const englishStopWords = [
    'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by',
    'from', 'up', 'about', 'into', 'through', 'during', 'before', 'after', 'above', 'below',
    'up', 'down', 'out', 'off', 'over', 'under', 'again', 'further', 'then', 'once',
    'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few',
    'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same',
    'so', 'than', 'too', 'very', 'can', 'will', 'just', 'should', 'now', 'is', 'are',
    'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'do', 'does', 'did',
    'will', 'would', 'could', 'should', 'may', 'might', 'must', 'shall', 'this', 'that',
    'these', 'those', 'i', 'you', 'he', 'she', 'it', 'we', 'they', 'me', 'him', 'her',
    'us', 'them', 'my', 'your', 'his', 'her', 'its', 'our', 'their', 'myself', 'yourself',
    'himself', 'herself', 'itself', 'ourselves', 'yourselves', 'themselves'
];
// 한국어 불용어 리스트 (주요 불용어들)
const koreanStopWords = [
    // 조사
    '이', '가', '을', '를', '에', '에서', '로', '으로', '와', '과', '도', '는', '은', '의', '에게', '한테',
    '부터', '까지', '만', '도', '조차', '마저', '까지도', '조차도', '마저도',
    // 대명사
    '그', '저', '이', '그것', '저것', '이것', '그들', '저들', '이들', '나', '너', '우리', '너희', '그녀', '그들',
    '자신', '자기', '본인', '당신', '여러분', '누구', '어느', '어떤', '무엇', '어디', '언제', '왜', '어떻게',
    // 수사
    '하나', '둘', '셋', '넷', '다섯', '여섯', '일곱', '여덟', '아홉', '열', '첫째', '둘째', '셋째',
    '하나', '두', '세', '네', '다섯', '여섯', '일곱', '여덟', '아홉', '열',
    // 부사
    '매우', '아주', '정말', '진짜', '너무', '완전', '정말로', '정말', '진짜로', '정말', '정말로',
    '가장', '더', '더욱', '훨씬', '많이', '조금', '약간', '좀', '조금', '약간', '좀',
    '잘', '못', '안', '아니', '아닌', '아니야', '아니에요', '아닙니다',
    '그냥', '그저', '단지', '그저', '그냥', '단지', '그저',
    '이미', '벌써', '이미', '벌써', '이미', '벌써',
    '아직', '여전히', '아직', '여전히', '아직', '여전히',
    '다시', '또', '또다시', '다시', '또', '또다시',
    '바로', '곧', '즉시', '바로', '곧', '즉시',
    '여기', '거기', '저기', '여기', '거기', '저기',
    '언제', '언제나', '항상', '언제', '언제나', '항상',
    '어디', '어디서', '어디에', '어디', '어디서', '어디에',
    '왜', '어떻게', '왜', '어떻게',
    // 접속사
    '그리고', '그러나', '하지만', '그런데', '그래서', '따라서', '그러므로', '그러면', '그럼',
    '또한', '또', '그리고', '또한', '또', '그리고',
    '또는', '혹은', '아니면', '또는', '혹은', '아니면',
    '그러니까', '그러니', '그러니까', '그러니',
    '그런데', '그런데', '그런데',
    '그래서', '그래서', '그래서',
    '따라서', '따라서', '따라서',
    '그러므로', '그러므로', '그러므로',
    '그러면', '그럼', '그러면', '그럼',
    // 감탄사
    '아', '어', '오', '우', '아', '어', '오', '우',
    '아이', '어이', '오이', '우이', '아이', '어이', '오이', '우이',
    '아하', '어라', '오호', '우와', '아하', '어라', '오호', '우와',
    '어머', '어머나', '어머', '어머나',
    '아이고', '어이고', '오이고', '우이고', '아이고', '어이고', '오이고', '우이고',
    // 기타 자주 사용되는 불용어
    '것', '거', '게', '것', '거', '게',
    '수', '것', '거', '게', '수', '것', '거', '게',
    '때', '때문', '때문에', '때', '때문', '때문에',
    '경우', '경우에', '경우', '경우에',
    // '상황', '상황에서' — recall/검색에서 자주 쓰이는 명사로 제외 (한글 0건 완화)
    '문제', '문제가', '문제', '문제가',
    '방법', '방법으로', '방법', '방법으로',
    '과정', '과정에서', '과정', '과정에서',
    // '결과', '결과로' — recall/검색에서 자주 쓰이는 명사로 제외 (한글 0건 완화)
    '이유', '이유로', '이유', '이유로',
    '목적', '목적으로', '목적', '목적으로',
    '의미', '의미로', '의미', '의미로',
    '내용', '내용을', '내용', '내용을',
    '형태', '형태로', '형태', '형태로',
    '종류', '종류의', '종류', '종류의',
    '부분', '부분을', '부분', '부분을',
    '전체', '전체를', '전체', '전체를',
    '일부', '일부를', '일부', '일부를',
    '대부분', '대부분을', '대부분', '대부분을',
    '모든', '모든 것을', '모든', '모든 것을',
    '각각', '각각의', '각각', '각각의',
    '개별', '개별적으로', '개별', '개별적으로',
    '공통', '공통으로', '공통', '공통으로',
    '특별', '특별히', '특별', '특별히',
    '일반', '일반적으로', '일반', '일반적으로',
    '보통', '보통으로', '보통', '보통으로',
    '평범', '평범하게', '평범', '평범하게',
    '특수', '특수하게', '특수', '특수하게',
    '특별한', '특별한', '특별한',
    '일반적인', '일반적인', '일반적인',
    '보통의', '보통의', '보통의',
    '평범한', '평범한', '평범한',
    '특수한', '특수한', '특수한'
];
/**
 * 한국어와 영어 불용어를 통합한 Set을 반환
 */
export function getStopWords() {
    const allStopWords = [...englishStopWords, ...koreanStopWords];
    return new Set(allStopWords.map(word => word.toLowerCase()));
}
/**
 * 특정 언어의 불용어만 반환
 */
export function getEnglishStopWords() {
    return new Set(englishStopWords.map(word => word.toLowerCase()));
}
export function getKoreanStopWords() {
    return new Set(koreanStopWords.map(word => word.toLowerCase()));
}
/**
 * 불용어인지 확인
 */
export function isStopWord(word) {
    const stopWords = getStopWords();
    return stopWords.has(word.toLowerCase());
}
//# sourceMappingURL=stopwords.js.map