import numpy as np import os from gensim.models import KeyedVectors MODEL_PATH_VEC = "ko.vec" # λͺ¨λΈ λ‘œλ”© if os.path.exists(MODEL_PATH_VEC): print("πŸ” Word2Vec ν…μŠ€νŠΈ λͺ¨λΈ λ‘œλ“œ 쀑...") model = KeyedVectors.load_word2vec_format(MODEL_PATH_VEC, binary=False) print("βœ… Word2Vec λͺ¨λΈ λ‘œλ“œ μ™„λ£Œ") else: raise FileNotFoundError("❌ 'ko.vec' νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.") def embed_keywords(keywords: list[str]) -> np.ndarray: """ ν‚€μ›Œλ“œ 리슀트λ₯Ό λ²‘ν„°λ‘œ λ³€ν™˜ν•˜κ³  평균 벑터 λ°˜ν™˜ """ vectors = [model[word] for word in keywords if word in model] if not vectors: return np.zeros(model.vector_size) return np.mean(vectors, axis=0)