Tech News

제목150줄의 파이썬 코드로 Full-Text 검색엔진 만들기2021-04-07 01:20
작성자 Level 10

영어 위키피디아 제목+요약 전체 데이터를 가지고, 특별한 기술이 아닌 검색엔진의 기초를 차근차근 설명한 글

1. Abstract 개체를 만들어서 데이터 준비

2. Index 생성 : Token화 및 필터링

ㅤ→ 소문자

ㅤ→ 어간 추출(Stemming)

ㅤ→ 영어에서 가장 많이 쓰이는 25개 단어 제외(the,be,to,of,a..)

3. 기본 검색 만들기

4. 연관도 기능 추가 : Term Frequency(요약문에서 해당 단어가 얼마나 많이 쓰였나)

5. Inverse Document Frequency 추가 : 이 문서에 연결된 다른 문서들의 수


코드 : https://github.com/bartdegoede/python-searchengine


한글 초성 검색도 지원하는 퍼지 문자열 검색 https://news.hada.io/topic?id=3631

이 글과 기술적 기반이나 구현은 전혀 다르지만, 기초적인 부분을 단계별로 자세히 설명한 글이라 재미나게 읽었습니다.


이런 전문검색/토픽 모델링/도큐먼트 인덱싱/유사도 관련한 기능을 좀 더 본격적으로 구현한 파이썬 라이브러리들은 여러 개 있습니다.

- Whoosh : https://pypi.org/project/Whoosh/

- GenSim : https://github.com/RaRe-Technologies/gensim


SQLite 는 Full-Text-Search 확장이 따로 있습니다.

- SQLite FTS5 Extension : https://www.sqlite.org/fts5.html

G
M
T
Text-to-speech function is limited to 200 characters
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)