Poboljšanje mogućnosti pretraživanja kineskih poruka u Telegramu
Zaključak
Za poboljšanje efekta pretrage kineskih poruka u Telegramu, to se može postići ručnim umetanjem nevidljivih razdelnika ili razvojem prilagođenog tokenizatora. Pored toga, korišćenje AI tehnologije za semantičku pretragu takođe može značajno povećati preciznost pretraživanja.
Ključne tačke
- Telegram baza podataka: Telegram koristi SQLite kao svoju bazu podataka.
- Mehanizam pretraživanja celog teksta: Funkcija pretraživanja celog teksta u Telegramu seče niske (stringove) na fraze preko tokenizatora i generiše heš vrednosti, koje se tokom pretrage upoređuju sa heš tabelom.
- Generator tokena: Generator tokena se oslanja na separatore i razdelnike za sečenje niski (stringova).
- Definicija tokena: Sadržaj van separatora i razdelnika se smatra „tokenom“, uključujući tri vrste: velika slova (*), brojeve (N) i druge karaktere (Co).
- Obrada CJK karaktera: Kineski, japanski i korejski karakteri (CJK) većinom se prepoznaju kao tokeni.
Pošto između kineskih karaktera nema razdelnika, Telegram hešira ceo niz kineskih karaktera, što rezultira lošim efektom pretrage. Ovaj članak detaljno istražuje ograničenja pretraživanja kineskih poruka u Telegramu iz ugla koda.
Predlozi za poboljšanje
- Ručno umetanje razdelnika: Ručno dodavanje nevidljivih razdelnika između kineskih karaktera radi poboljšanja efekta pretrage.
- Prilagođeni tokenizator: Razvoj prilagođenog tokenizatora, modifikacija Telegram klijenta radi poboljšanja funkcije pretrage.
AI Semantička pretraga
Pored tradicionalnih metoda pretrage, uvođenje AI tehnologije pruža bolja rešenja za semantičku pretragu. Projekat telegram-search koristi ugrađene (embedding) modele, što omogućava korisnicima da pronađu željeni sadržaj čak i bez tačnog podudaranja ključnih reči. Na primer, unošenjem „osoba koja je sinoć jela“ može se pronaći „muškarac koji je sinoć jeo sa nama“.
Korišćenjem gore navedenih metoda, može se značajno unaprediti iskustvo pretraživanja kineskih poruka u Telegramu.