es_Inverted 인덱스 상세 설명

1. 포워드 인덱스

정방향 색인(forward index): 정방향 색인은 문서의 ID를 키로 하여 문서 내 각 단어의 위치 정보를 테이블에 기록하고, 검색 시 테이블 내 각 문서 내 각 단어의 정보를 쿼리를 포함하는 모든 단어가 발견될 때까지 스캔 키워드 문서화.

"문서 1"의 ID > Word1: 발생, 발생 목록; Word2: 발생, 발생 목록; ……….
"문서 2"의 ID > 이 문서에 나오는 키워드 목록.
여기에 이미지 설명 삽입
포지티브 테이블 구조는 그림 1과 같다. 이 구성 방식은 인덱스 생성 시 구조가 비교적 단순하여 문서를 기반으로 인덱스가 생성되기 때문에 새로운 문서가 추가되면 문서에 대해 직접 생성됨 원본 색인 파일의 뒷면에 첨부된 새 색인 블록. 삭제할 문서가 있는 경우 문서번호가 있는 문서에 해당하는 인덱스 정보를 직접 찾아서 삭제합니다. 그러나 쿼리 중에 누락이 없는지 확인하기 위해 모든 문서를 스캔해야 하므로 검색 시간이 크게 길어지고 검색 효율성이 떨어집니다.

포지티브 리스트의 작동 원리는 매우 간단하지만 검색 효율이 너무 낮기 때문에 특정 상황이 아니면 실용적인 가치가 거의 없다.

2. 역지수

역색인(inverted index): 역표는 단어나 구를 키워드로 사용하여 색인을 생성하는 것으로, 표에서 키워드에 해당하는 레코드 항목은 이 단어나 단어가 나오는 모든 문서를 기록한다. 문서의 ID와 문서의 문자 위치.

각 단어나 단어에 해당하는 문서의 개수가 동적으로 변하기 때문에 역목록의 구축과 유지가 더 복잡하지만 질의 시 질의 키워드에 해당하는 모든 문서를 한 번에 얻을 수 있기 때문에 효율성은 정방향 목록보다 높음 표면. 전체 텍스트 검색에서는 검색에 대한 빠른 응답이 가장 중요한 성능이며 백그라운드에서 인덱싱을 수행하기 때문에 효율성은 상대적으로 낮지만 전체 검색 엔진의 효율성에는 영향을 미치지 않습니다.

역색인의 구조는
"키워드 1": "문서 1"의 ID, "문서 2"의 ID, ........
"keyword2": 이 키워드가 포함된 문서 ID 목록입니다.

여기에 이미지 설명 삽입

3. 역지수 소개

3.1 워드-문서 매트릭스

워드-문서 매트릭스는 둘 사이의 내포 관계를 표현하는 개념적 모델이며, 그림 1은 그 의미를 보여준다. 아래 그림의 각 열은 문서를 나타내고 각 행은 단어를 나타내며 눈금 위치는 포함 관계를 나타냅니다.
여기에 이미지 설명 삽입
문서의 세로 차원의 관점에서 각 열은 문서에 포함된 단어를 나타냅니다.예를 들어 문서 1에는 어휘 1과 어휘 4가 포함되어 있지만 다른 단어는 포함되어 있지 않습니다. 단어 차원의 관점에서 각 행은 특정 단어가 포함된 문서를 나타냅니다. 예를 들어, 어휘 1의 경우 단어 1은 문서 1과 4에 나타나지만 다른 문서에는 어휘 1이 포함되어 있지 않습니다. 행렬의 다른 행과 열도 이러한 방식으로 해석할 수 있습니다.

검색 엔진의 인덱스는 실제로 "단어-문서 매트릭스"를 구현하는 특정 데이터 구조입니다. "역 인덱스", "서명 파일", "접미사 트리" 등과 같이 위의 개념 모델을 구현하는 방법에는 여러 가지가 있습니다. 그러나 다양한 실험 데이터는 "역색인"이 단어와 문서 간의 매핑 관계를 실현하는 가장 좋은 방법임을 보여주기 때문에 이 기사에서는 주로 "역색인"의 기술적 세부 사항을 소개합니다.

3.2 역지수의 기본 개념

문서: 일반 검색 엔진의 처리 대상은 인터넷 웹 페이지이며 문서의 개념은 더 광범위하여 텍스트 형식의 저장 대상을 나타냅니다 웹 페이지에 비해 Word, PDF, 파일 등 다양한 형식을 포함합니다 html 및 XML과 같은 형식을 문서라고 할 수 있습니다. 또 다른 예로 이메일, 문자 메시지 또는 문서라고도 하는 Weibo가 있습니다. 이 책의 나머지 부분에서 문서는 많은 경우 텍스트 정보를 나타내는 데 사용됩니다.

문서 컬렉션: 여러 문서로 구성된 컬렉션을 문서 컬렉션이라고 합니다. 예를 들어, 많은 수의 인터넷 페이지 또는 많은 수의 이메일이 문서 수집의 구체적인 예입니다.

문서 ID: 검색 엔진 내에서 문서 컬렉션의 각 문서에는 고유한 내부 번호가 부여되며 이 번호는 문서의 고유 식별자로 사용되어 내부 처리에 편리합니다.각 문서의 내부 번호는 이를 "문서 번호"라고 부르며, 나중에 문서 번호를 편리하게 나타내기 위해 DocID를 사용하기도 합니다.

단어 ID(Word ID): 문서 ID와 유사하게 검색 엔진은 내부적으로 고유한 숫자를 사용하여 단어를 나타내며 단어 ID는 단어의 고유한 표현으로 사용될 수 있습니다.

역색인: 역색인은 "단어-문서 매트릭스"를 구현하기 위한 특정 저장 형식입니다.역색인을 통해 단어에 따라 이 단어가 포함된 문서 목록을 빠르게 얻을 수 있습니다. 역색인은 주로 "단어사전"과 "역파일"의 두 부분으로 구성됩니다.

단어사전(Lexicon): 검색 엔진의 일반적인 색인 단위는 단어입니다.단어사전은 문서 모음에 등장한 모든 단어로 구성된 문자열 모음입니다. "역 배열 목록" 포인터를 가리킵니다.

게시 목록(PostingList): 게시 목록에는 특정 단어가 등장하는 모든 문서의 문서 목록과 해당 문서에서 나타나는 단어의 위치 정보가 기록되며, 각각의 레코드를 게시 항목(Posting)이라고 합니다. 반전된 목록에 따라 특정 단어가 포함된 문서를 알 수 있습니다.

반전 파일: 모든 단어의 반전 목록은 디스크의 특정 파일에 순차적으로 저장되는 경우가 많으며, 이 파일을 반전 파일이라고 하며 반전 파일은 반전 인덱스를 저장하는 물리적 파일입니다.

이러한 개념 간의 관계는 아래 그림에서 명확하게 볼 수 있습니다.

여기에 이미지 설명 삽입

3.3 역지수의 간단한 예

역색인은 논리적 구조와 기본 개념 면에서 매우 단순합니다. 아래에서는 독자들이 거꾸로 된 인덱스를 거시적이고 직접적으로 느낄 수 있도록 구체적인 예를 들어 설명합니다.

문서집에 5개의 문서가 있다고 가정하면 각 문서의 내용은 아래 그림과 같으며 그림의 맨 왼쪽 열은 각 문서에 해당하는 문서 번호입니다. 우리의 임무는 이 문서 모음에 대한 역색인을 만드는 것입니다.

여기에 이미지 설명 삽입

중국어와 영어 등의 언어가 다르고 단어 사이에 명확한 구분자가 없기 때문에 단어 분할 시스템을 먼저 사용하여 문서를 자동으로 단어 시퀀스로 분할해야 합니다. 이러한 방식으로 각 문서는 단어 시퀀스로 구성된 데이터 스트림으로 변환됩니다.시스템에서 후속 처리의 편의를 위해 각각의 다른 단어에 고유한 단어 번호를 할당하고 이 단어가 포함된 문서를 기록해야 합니다.후 이와 같은 처리를 통해 가장 간단한 역지표를 얻을 수 있다(그림 3-4 참조). 도 4에서 "단어 ID" 열은 각 단어의 단어 번호를 기록하고, 두 번째 열은 해당 단어이고, 세 번째 열은 각 단어에 해당하는 반전 목록이다. 예를 들어 "Google"이라는 단어의 단어 번호는 1이고 반전된 목록은 {1,2,3,4,5}이며 문서 컬렉션의 모든 문서에 이 단어가 포함되어 있음을 나타냅니다.

여기에 이미지 설명 삽입

그림 4의 역색인이 가장 단순한 이유는 이 색인 시스템은 어떤 문서에 특정 단어가 포함되어 있는지만을 기록하기 때문이지만, 실제로 색인 시스템은 이 외에도 더 많은 정보를 기록할 수 있습니다. 도 5는 비교적 복잡한 역색인으로, 도 4의 기본색인 체계와 비교하여 단어에 해당하는 역리스트에 문서번호뿐만 아니라 단어빈도정보(TF), 즉 단어가 특정 문서의 발생 횟수, 이 정보를 기록하는 이유는 검색 결과를 정렬할 때 단어 빈도 정보가 쿼리와 문서 간의 유사도를 계산하는 중요한 계산 요소이기 때문에 반전 목록에 기록됩니다. 편의상 점수 계산은 후속 정렬 중에 수행됩니다. 그림 5의 예에서 "설립자"라는 단어의 단어 번호는 7이고 해당 반전된 목록 내용은 (3:1)입니다. 여기서 3은 문서 번호가 3인 문서에 이 단어가 포함되어 있고 번호가 1은 단어 빈도 정보를 의미하며, 이 단어는 문서 3번에 한 번만 등장하며 다른 단어에 해당하는 반전 목록이 나타내는 의미는 동일합니다.

실용적인 역색인도 더 많은 정보를 기록할 수 있다.문서 번호와 단어 빈도 정보 외에도 그림 6에 표시된 색인 시스템은 두 가지 추가 유형의 정보, 즉 각 단어에 해당하는 "문서 빈도 정보"(에 해당)를 기록합니다. 그림 6) 문서에서 단어의 위치 정보를 반전 목록에 기록한다.

여기에 이미지 설명 삽입

추천

출처blog.csdn.net/chuige2013/article/details/129375460