<aside> 💡 스크립트는 파이프라인이 돌기 전, 사용을 하고 있는 데이터와 동기화를 하기 위해 기존에 있던 데이터를 파이프라인 로직에 맞게 먼저 스크립트로 진행하도록 한다.

</aside>

set_inverted_index

역인덱스를 만들어 키워드 추출 작업에 필요한 데이터를 쌓는 과정이다.

set_keyword_table

역인덱스가 갖추어졌다고 가정하고 스코어 알고리즘을 이용해서 termscore를 key-value로 설정하여 JSON 형식으로 넣어주는 작업이다.

set_pik_vector

각 콘텐츠에 정의한 키워드를 바탕으로 임베딩을 하여 최종적으로 픽 벡터를 만드는 과정이다. 생성되는 테이블은 픽을 벡터화한 테이블 하나만 생성이 된다.

<aside> ❓ 기존에는 링크와 카테고리 모두 벡터를 생성하여 테이블에 저장을 하였지만 이 방법은 먼저, 업데이트가 어렵고, 비효율적인 용량을 차지하며 실제로는 픽에 대한 벡터가 가장 중요하기 때문에 기존의 방식에서 픽 벡터만 저장하는 방식을 선택하였다.

</aside>

각 콘텐츠의 벡터들은 TF-IDF 스코어를 바탕으로 가중치 평균을 낸 벡터를 각 콘텐츠의 벡터로 정의하였으며 픽 벡터는 임의로 정한 계수를 바탕으로 가중치 평균을 낸 벡터를 대표 백터로 정의하였다.

기본적인 가중치를 적용한 모습이다.

기본적인 가중치를 적용한 모습이다.

set_pik2pik

계산된 벡터를 기준으로 유사도를 판단하여 선택한 픽에 대해서 가장 유사한 픽을 구하는 과정이다. 이미 계산된 벡터를 기준으로 다음과 같은 과정을 거친다.