검색어 토큰화
1. Mecab 형태소 분석으로 필요 없는 형태소 제거
2. 신조어를 위해서 마지막 형태소만 비교
stop_tags = ['JKS','JKC','JKG','JKO','JKB','JKV','JKQ','JX','JC','EP','EF','EC','ETN','ETM','XSN','XSV','XSA','SF','SE','SSO','SSC','SC','SY']
stop_words = ['한','곳','집','식당','장소','음식점']
def get_search_token(sent):
spl_tokens = sent.split(' ')
res = []
for st in spl_tokens:
pos_st = tagger.pos(st)
mor_st = tagger.morphs(st)
while pos_st and ( pos_st[-1][1] in stop_tags or pos_st[-1][0] in stop_words ):
pos_st = pos_st[:-1]
mor_st = mor_st[:-1]
tmp = ''.join(mor_st)
if len(tmp) > 1:
res.append(tmp)
return res
토큰들의 벡터 유사도 단어를 구하는 함수 구현
1. 검색어 토큰화 할때 사용한 토큰들을 사용한다
2. 토큰이 겹치는 단어는 제외하면서 5개씩 뽑는다
3. 벡터유사도는 0.7 이상으로 한다