sentence embedding
을 얻었다면, 두개의 유사도를 계산하기 위해서는 cosine similarity
를 이용해서 계산을 해야한다.
pandas에서 udf
를 통해 계산하는 방법은 아래와 같다.keyword
와 context
에는 문자열이 들어가면 된다.
ex: keyword: 안녕, context: 잘가요. 멀리 안가요
import numpy as np
from scipy import spatial
def sim(x, y):
embed1 = get_embed(x)
embed2 = get_embed(y)
return 1 - spatial.distance.cosine(embed1, embed2)
def sim_udf(x):
sim_value = sim(x['keyword'], x['context'])
return sim_value
df['cosim'] = df.apply(sim_udf, axis=1)
'우리는 개발자 > Data Science' 카테고리의 다른 글
Jupyter에서 한글 깨짐 배달의 민족 글씨체로 설정 (0) | 2019.12.02 |
---|---|
[Python] embedding vector를 하나로 합치는 방법 (0) | 2019.09.07 |
[Python] collections.Counter를 이용해 리스트의 값 개수세기 (0) | 2019.09.07 |
[Python] 정규식 (Regex)를 이용해 한글만 추출하는 방법 (모음, 자음 구분) (0) | 2019.09.07 |
[Python] 한글 전처리 모음 (0) | 2019.09.07 |