어떤곳에서는 저런걸 바로가기라고 표현하기도 한다.
Query로그와 Url로그를 보고 그 쌍을 학습셋으로 집어 넣어서 Query Url에 대한 신경망(neural network)을 만드는 작업이였는데, 예전에 만들어본 Neural Network 프로그램과 약간 다르게 접근해서 매우 흥미로웠다.
Backpropagation algorithm을 사용한건 동일 했지만 Hidden Layer의 갯수를 입력된 Query로그를 사용해서 의미단위로 쪼개서 그 쌍을 가지고 Hidden Layer를 만들었다.
그러니까… “주니어 네이버”라는 쿼리가 들어오면 {“네이버” “주니어”} (sorting 했다.)에 해당하는 Hidden Layer 노드를 하나 만들어 버린다.
{“네이버”, “쇼핑”} 이라는 노드가 이미 있다면 “네이버”라는 쿼리에 대해서 두 히든 노드만 사용해 계산하게 된다. 타 노드가 있더라도 네이버를 포함한 노드가 저것 뿐이라면 저것들만 가지고 계산을 하게 된다.
이전에는 Hidden Layer의 노드 갯수를 임의로 만들어서 수행 했었는데, 위와 같이 수행하면 계산에 필요한 노드들만 생성되게 되어 굉장히 가벼운 시스템을 만들 수 있을거란 생각을 해본다.
하긴 레이어의 각 노드의 입력값은 이전 레이어의 각 노드의 합을 가지고 비선형함수에 적용하는 거라서 0에 가까운 입력값을 제거해도 큰 영향은 없을거란 생각을 잠시 해본다.
이미 알고리즘을 알고 있다고 넘어 갔는데 저렇게 쓰이는 사례를 보고 나니 알고리즘 자체가 새롭게 다가오는군…
Query -Url 연결 알고리즘 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.