Analiza językowa

Analiza językowa

Chodzi mi o to, aby język giętki powiedział wszystko, co pomyśli głowa..." - J.Słowacki.
Nam chodzi o to, by znaleźć to wszystko, co pomyśli głowa i wyrazi słowami...

   

"Polski, trudna języka"

 
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").
 
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.

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). 

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.
 
 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. 

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.

 

Strona Główna | Toolbar | Dlaczego NetSprint? | Reklamuj siê u nas | NetSprint na Twojej stronie | Wszystko o NetSprint

© 2000-2004 NetSprint.pl