Formy fleksyjne
Problemy przy wyszukiwaniu tekstów pisanych po polsku nie sprowadzają się
wyłącznie do interpretacji polskich znaków. To, co znacząco odróżnia język polski
np. od języka angielskiego, i sprawia zarazem najwięcej trudności, to morfologia
co widać np. w rozbudowanej fleksji czyli odmianie wyrazów przez
przypadki, rodzaje, czasy, osoby itd. - statystycznie jedno hasło w języku
polskim posiada więcej niż 10 różnych form fleksyjnych, a niektóre
części mowy, takie jak czasowniki, mają ich blisko 50!
Użytkownikowi wyszukiwarki prawie nigdy nie zależy na odnalezieniu w tekście konkretnej
formy fleksyjnej lecz najczęściej poszukuje on wskazanego hasła, np. szukając
słowa "kolega" ma na myśli również słowa "kolegi", "koledze",
"kolegę", "kolegą" itd. Niektóre wyszukiwarki zachęcają, by
Użytkownik sam wskazał dopuszczalne warianty umieszczając w pytaniu gwiazdkę,
co w wielu przypadkach daje "zaskakujące" wyniki - np. próba odnalezienia
wszystkich form dla hasła "mak" (czyli pytanie "mak*")
generuje wynik zawierający takie słowa jak "makowiec"
czy "makówka" ale także "makrela",
"makaron" no i "makabra".
Metoda ta nie pozwala również na uwzględnienie, tak charakterystycznych w języku
polskim, nieregularności w odmianie (np. "wóz"
i "wozem" czy "człowiek"
i "ludzie").
do góry
Neurosoft Gram - precyzja i skuteczność
Przy tworzeniu wyszukiwarki NetSprint postawiliśmy przede wszystkim
na precyzję wyszukiwania i skuteczność odrzucając rozwiązania tymczasowe
lub działające "zazwyczaj dobrze". Z tego powodu do systemu NetSprint
podłączony został moduł Neurosoft Gram
opracowany przez naukowców z firmy Neurosoft z Wrocławia - lidera zastosowań
sztucznej inteligencji w aplikacjach przemysłowych. Neurosoft Gram to procesor
morfoskładniowy, którego jednym z zadań jest precyzyjna identyfikacja
hasła w oparciu o dowolną formę fleksyjną. Aby to zadanie wykonać bezbłędnie
Gram wyposażony został w pełny słownik języka polskiego (ponad
2 mln form fleksyjnych, blisko 180 tys. leksemów) zawierający informacje o wszelkich
nieregularnościach i niuansach językowych, oraz w szereg algorytmów identyfikujących
hasła nie dające się zapisać w słowniku.
do góry
Fleksja to nie wszystko
Uwzględnienie przy wyszukiwaniu wyłącznie odmiany wyrazów to tylko część sukcesu
- przeszło dwa lata badań Neurosoftu doprowadziło do implementacji unikatowego
rozwiązania, w którym oprócz fleksji przy wyszukiwaniu uwzględnia się inne typy
związków morfologicznych pozwalających na kojarzenie słów semantycznie
jednoznacznych.
W ten sposób posługiwanie się wyszukiwarką coraz bardziej przypomina poszukiwanie
pojęć niż poszukiwanie wyrazów (ang. semantic search).
do góry
Wyszukiwanie pojęć - nie tylko wyrazów
Zgodnie z tą koncepcją poszukiwanie "joysticka"
to to samo co poszukiwanie "dżojstika" (co jest naturalne
- inna pisownia tego samego hasła), "dobry kucharz"
to niemal to samo co "dobra kucharka" ("kucharka"
i "kucharz" różnią się co prawda płcią, ale zarówno ona jak i on dobrze
gotują) czy też w końcu osoba "wystawiająca fakturę"
to także osoba, która "wystawia fakturę" oraz osoba
zajmująca się "wystawianiem faktury" czy odpowiedzialna
za "wystawienie faktury". Na tej samej zasadzie "mały
sukces" jest prawie tym samym co "malutki sukces"
oraz "malusieńki sukcesik". We wszystkich powyższych
przykładach powiązania znaczeniowe mają związek z morfologią języka polskiego
i są zdefiniowane dla całego słownictwa. Dzięki systemowi Neurosoft Gram można
uwzględnić "bliskość" powiązań tak, by faworyzowane były tylko
określone związki.
Pozornie może się wydawać, że poszukiwanie pojęć będzie dawać mało dokładne i
bardzo liczne wyniki, gdyż oprócz tekstów ze wskazanym wyrazem do wyniku dodane
będą dodatkowo teksty z wyrazami bliskoznacznymi. Tak by było, gdyby pytanie ograniczyć
tylko do jednego słowa - w praktyce jednak zaleca się umieszczanie w pytaniu jak
największej liczby słów kluczowych co pozwala na znaczne ograniczenie
liczby odnalezionych dokumentów gwarantując jednocześnie wysoką trafność wyniku.
W takim przypadku uwzględnianie wyrazów równoznacznych bądź bliskoznacznych istotnie
podnosi skuteczność przeszukiwania.
do góry
Ma być w porządku od początku
"Uczulenie" wyszukiwarki na specyfikę języka polskiego wymaga
głębokiej ingerencji w algorytmy przeszukiwania. Analiza
językowa musi być przeprowadzona nie tylko dla pytania zadanego wyszukiwarce przez
użytkownika ale również, a może przede wszystkim, podczas zbierania informacji
o tekstach (stronach HTML). Już na etapie tworzenia tzw. indeksu każde zdanie
przetwarzane jest przez analizator i przekształcane do postaci ułatwiającej efektywne
uwzględnienie niuansów językowych. Ponadto językowej optymalizacji ulega także
struktura indeksu dzięki czemu możliwe jest wielokrotne przyspieszenie algorytmu
wyszukiwania.
do góry
To jeszcze nie ostatnie słowo
NetSprint i Neurosoft nieustannie współpracują nad podniesieniem jakości
wyszukiwania. Z jednej strony monitorowane jest działanie procesora Neurosoft
Gram w taki sposób, by wykrywać potencjalne usterki w słowniku (homonimy, neologizmy,
nowe nazwy własne, słowa pochodzące z innych języków) a także żeby podnieść skuteczność
wyszukiwania. Z drugiej strony powstają i są weryfikowane w warunkach laboratoryjnych
nowe koncepcje, do których należą rozbudowa mechanizmu poszukiwania pojęć w oparciu
o specjalnie opracowany hierarchiczny tezaurus (ang. WordNet)
oraz przekształcenie analizatora pytań w system dialogowy,
który w razie potrzeby wypytuje użytkownika o szczegóły poszukiwanego pojęcia.
do góry