Graph based IR
·
검색 모델
🔍 문서를 그래프를 사용하여 표현중요도(weight)(authority)를 이용(예시)Web : 각 노드는 웹 페이지, edge는 링크, 방향이 있는 그래프가 된다. (구글 검색엔진에서 사용)중요도를 사용하여 더 중요한 정보를 보여줄 수 있게됨Text based IR과 차이점 : text based는 단어가 완전 똑같지 않으면 검색 결과로 안나올 수 있다. text에 의존하므로 한계가 있다. ✔ 용어Directed / UndirectedWeighted / UnweightedGraph - Adjacency Matrix : 그래프에서 가중치가 있는 부분을 인접행렬로 표현In_degree : 현재 노드로 들어오는 edge 갯수Out_degree : 현대 노드에서 나가는 edge 갯수좋은 노드는 나쁜 노드를 ..
Neural 신경망 검색 알고리즘
·
검색 모델
✔ 목적질의가 들어오면 연관성이 높은 문서들을 출력한다 ✔ 해결질의와 문서를 BERT 신경망에 넣어 점수를 구한다. 점수를 바탕으로 랭킹을 매긴다.(BERT는 기계학습 모델이다)Transformer 모델 : query의 단어들을 분석해 연관성이 높은 것을 다음 윗 계층으로 올린다.BERT : Transformer를 기반으로 만들어졌으며, 사전에 데이터를 풍부하게 학습하고, 그것을 바탕으로 새로운 데이터를 학습시킨다. 🔍 방법딥러닝은 속도가 느린 단점이 있다. 그래서 먼저 BM25 모델을 사용하여 TOP n개의 문서를 고르고, TOP n개에 딥러닝을 적용한다.방법1 "All-to-all Interaction" Query와 Document를 BERT에 넣어 최적의 해를 구한다.하지만 Query와 Docum..
Hierarchical Clustering
·
검색 모델
✔ Clustering 종류Flat clustering : 일반적인 clusteringHierarchical clustering : 계층적으로 상하 관계가 있는 ClusteringHard clustering : 하나의 문서는 하나의 cluster에 속해있음Soft clustering : 하나의 문서가 여러개의 cluster에 속할 수 있다.※ 지금 알아볼 것은 Hierarchical clustering이고 top-down과 bottom-up 방식이 있다. 🔍 Hierarchical Agglomerative Clustering (HAC)bottom-up 방식 : 맨 아래의 문서부터 위로 올라가는데, 맨 아래부터 각 문서가 하나의 cluster로 가정하고 위로 올라갈수록 더 큰 cluster로 묶는다.문서..
Vector space classification
·
검색 모델
(사전에 필요한 것)training set문서들마다 어떤 클래스에 속하는지 라벨링을 해준다. 🔍 Vector space classification새로운 문서가 어떤 클래스(vector space)에 속하는지 분류하는 것 구분선을 찾아야한다!✔ 방법 1. Rocchio 알고리즘Relevance feedback을 이용한다.※ text-classification과 relavance feedback 차이text-classification은 training set이 먼저 주어진다.relavance feedback은 결과에 대해 사용자가 다시 체크한다.기본 아이디어 : 각 클래스의 centroid를 구한다. 그리고 제일 가까운 centroid의 클래스로 분류한다.centroid : 클래스의 모든 vector 값을..
Flat Clustering
·
검색 모델
🔍 Clustering이란?문서 집합에서 비슷한 문서끼리 그룹화 하는 것거리가 가까운 것끼리 묶음Training set 없이 작업한다.(unsupervised learning)※classification과 clustering의 차이classification은 supervised learning이고, clustering은 unsupervised learning이다.classification의 class는 사람이 정의한다.clustering은 사람의 개입이 없다.가설 : 정답과 같은 cluster에 속해있다면 그것도 정답일 가능성이 크다.clustering의 효과검색 결과들을 clustering : 좀 더 연관성 있는 결과들을 보여줄 수 있다.문서 집합을 clustering : 카테고리별로 문서들을 볼 수..
언어 모델
·
검색 모델
📊 언어모델이란?여러 단어로 이루어진 열에 확률 값을 매김음성 인식에 사용 unigram language model 가정 : 각 단어의 등장 확률은 서로 독립적이다.각 단어의 확률을 곱해서 구한다. 다음이 언어모델이다.P(d|q) : 쿼리가 주어졌는데 해당 문서가 정답일 확률P(q)는 모든 상황에 같기 때문에 무시한다.P(d)는 질의와 상관없기 때문에 무시한다.결국 P(d|q) ∝ P(q|d) 이다.질의에 맞는 문서의 확률을 구하는 것보다, 문서가 주어졌을 때 쿼리의 확률을 구하는 것이 더 쉽다.하나의 질의는 여러개의 단어로 구성되어 있고, 각 단어의 확률은 독립적으로 작용한다.각 단어의 등장확률을 곱해준다.문서 d가 주어졌을 때, term의 등장 확률 : 최대 가능도 (Maximum Likelihoo..
확률 모델
·
검색 모델
⦁ 결합 확률동시에 일어날 확률 P(A∩B) = P(A,B) ⦁ 조건부 확률B가 일어나고 A가 일어날 확률 P(A|B) = P(A,B) / P(B) ⦁ OddsO(A) = P(A) / P(𝐴 ̅) = (A가 일어날 확률 / A가 일어나지 않을 확률)📊 확률을 사용하여 Ranking 매기기PRP (Probability Ranking Principle) P(R=1|d,q) : 해당 문서가 정답일 확률BIM (Binary Independence Model)각 term들은 독립적으로 동작하고, tf가 1이면 1로 나타낸다.📊 확장된 확률모델➞ 확률모델 계산을 유도해보니 IDF와 같은 계산식이 되었다.  ⦁ Okapi BM25 non-binary model위 식에 tf부분을 추가하였다.
Relevance Feedback - 재현율 높이기
·
검색 모델
🔍 재현율을 높이는 Relevance Feedback사용이유 : 같은 의미를 가진 다른 단어도 검색이 가능하게 하기위해결과 문서들을 순서대로 탐색하며 관련있는지, 없는지 직접 체크그 결과를 가지고 다시 검색하여 보여줌➞  (Relavance Feedback으로 인한 변화) Centroid :결과 문서들의 제일 가운데에 점을 찍은 것🔍 Rocchio algorithm정답인 문서들의 centroid + (정답인 문서들의 centroid - 정답이 아닌 문서들의 centroid) 🔍 Relavance Feedback의 문제점사용자가 일일이 체크해야 한다. 🔍 해결책 : Pseudo-relevance feedback검색 결과 상위 k개의 문서가 관련성이 높다고 판단하고, 다시 검색 결과를 도출한다.
검색 시스템 평가 (정확률/재현율)
·
검색 모델
🔍 정보검색 시스템 성능평가 1. Ranking을 고려하지 않은 성능평가 평가요소Precision(정확률) : (시스템 결과 맞춘 문서 수 / 추출된 문서 수)(relavant items retrieved / retrieved items)recall(재현율) : (시스템 결과 맞춘 문서 수 / 실제 정답인 문서 수)(relavant items retrieved / relevant items)TP : 추출된 문서 중 정답인 부분FP : 추출된 문서 중 정답이 아닌 부분FN : 추출되지 않은 문서 중 정답인 부분 (맞추지 못했기 때문에 false)TN : 추출되지 않은 문서 중 정답이 아닌 부분 (맞춘 것이기 때문에 true)정확률 P = TP / (TP + FP)재현율 R = TP / (TP + FN)P..
Ranked Retrieval 검색 알고리즘
·
검색 모델
Boolean Retrieval은 검색 결과가 너무 적거나, 너무 많거나 할 수 있다.Boolean Retrieval 질의 방법은 일반사용자가 사용하기 불편하다.이러한 단점을 보완한 것이 Ranked Retrieval  🔍 Query-document matching scores쿼리와 문서의 매칭 정도를 점수로 매김질의하는 term이 여러번 등장할수록 점수가 더 높음"term document incidence matrix(binary incidence matrix)"를 확장하여 term 등장 횟수를 기록했다.count matrix라고 부름  Bag of words model : term의 위치는 고려하지 않고 등장 횟수만 고려한 모델🔍 tf - term frequency 계산식 질의에 여러 단어가 등장..
Boolean Retrieval 검색 알고리즘
·
검색 모델
🔍 Boolean RetrievalTrue, False를 사용하여 정보검색🔍Inverted Index구성요소로는 dictionary와 postings가 있고, dictionary는 term들의 집합이다.Inverterd Index는 term이 등장하는 문서의 문서번호만 postings에 저장한 방법이다.🔍질의A단어와 B단어가 등장하는 문서를 검색할때?A단어의 postings와 B단어의 postings를 하나씩 포인터를 옮겨가며 같은 것이 있는지 비교한다.And 연산에서 여러개의 단어를 검색할떄, 빠르게 하려면?document frequency가 작은 순서부터 연산한다.- term : 정규화한 단어- token : 실제 단어 인스턴스🔍stemming 정규화단어의 뒷부분을 잘라 공통된 부분만 남기는 ..
윤씅
'검색 모델' 카테고리의 글 목록