Moje pomysły na przetwarzanie tekstu
Transkrypt
Moje pomysły na przetwarzanie tekstu
Elementy sztucznej inteligencji. Moje pomysły na analizowanie i klasyfikację tekstu (pod kątem FDS) Wstęp Wyszukiwanie właściwego tekstu jest operacją wybitnie nastawioną na zrozumienie zapytania oraz analizowanego dokumentu. Tutaj z pewnością przydatne okaże się wykorzystanie inteligentnych obliczeń. Określmy słowo 'meta_znaczenie' – każde słowo ma swoje pewne znaczenie. Przykładowo słowa 'Uniwersytet' oraz 'Politechnika' mają pewne swoje unikalne znaczenie. Jednak nie da się ukryć, że te dwa słowa są w pewien sposób ze sobą powiązane. To ich 'powiązanie' nazwiemy meta_znaczeniem tych słów (uogólniając jakieś słowo dostajemy jego meta znaczenie). W tym konkretnym przypadku oba słowa mają takie samo meta-znaczenie. (PS. Aczkolwiek ‘meta znaczenie’ można rozpatrywać także szerzej. Można powiedzieć, że cały dokument ma pewne meta znaczenie – tzn. wszystkie słowa w dokumencie są w jakiś sposób ze sobą powiązane, bo muszą być powiązane ;-) , i wtedy wspólnie mają jedno meta znaczenie. Jednak jeżeli mówimy o meta znaczeniu w stosunku do dokumentu, to takich meta znaczeń jest znacznie więcej niż słów ... więc chyba lepiej sobie tego terminu za bardzo nie rozszerzać. Oczywiście w przypadku pojedyńczych słów było odwrotnie – to słów było więcej niż meta znaczeń, które one mogą one przyjmować). Zapytania Należy rozwijać pytania użytkownika (dodatkowe skojarzenia). Jeśli użytkownik zadaje pytanie “Uczelnia rolnicza”, to należy skojarzyć to zapytanie także ze słowami takimi jak “Szkoła wyższa”, “Gospodarka wiejska”, “Uniwersytet”, “rolnictwo”, ... Tekst należy analizować także pod kątem tych dodatkowych skojarzeń (oczywiście wystąpienia tych skojarzeń punktować odpowiednio niżej). · Program powinien kojarzyć przekształcenia gramatyczne. Przykładowo tekst w zapytaniu “funkcja ciągła” spokojnie odnosi się do frazy “funkcją ciągłą” w odpowiedzi. · · Można pomyśleć nad wykorzystaniem XML w zapytaniach (xml pozwala dokładniej określić dany zwrot czy wyraz). Trzeba by było pomagać użytkownikowi w zadawaniu takich pytań (potrzebne było by stworzenie pewnego kreatora zapytań), ale dało by się wyeliminować 'nieumiejętność zadawania pytań' (to na pewno jest w sieci... to Ty nie umiesz szukać...). Jeżeli okaże się to potrzebne, to można zadać użytkownikowi pytanie uzupełniające. · Jeżeli użytkownik podaje w zapytaniu “-książka” (nie chce aby to słowo występowało w tekstach) to należy także 'ujemnie punktować' za słowa “księgarnia”, “wydawnictwo”, ... ALE jeżeli w zapytaniu poza '-książka' pojawi się także '+czasopismo', to już nie możemy dawać słów ujemnych za słowa powiązane i z książką i z czasopismem. Należy także przewidzieć takie sytuacje: 1) zostaną wypisane 2 słowa mające takie samo meta_znaczenie (co bardzo wzmocni ich punktowanie – na plus albo na minus, w zależności od tego jak chciał użytkownik ) 2) dwa słowa o tym samym meta_znaczeniu zostaną wpisane tak, że jedno będzie na +, a inne na minus. Wtedy rozkojarzenie słów z ich meta_znaczeniem należy sobie darować. Analiza indeksowanego tekstu Można badać czy linki z danej strony/dokumentu prowadzą do stron z poszukiwanymi zwrotami (to dodatkowo zwiększyło by punktację danego dokumentu). · Ważna jest analiza składniowa dokumentu. Tak aby program potrafił wydobyć najważniejsze zdania i słowa z dokumentu i na nie ‘zwracać szczególną uwagę’. Przykładowo w dokumencie html o wiele ważniejsze są wyrazy zawarte wewnątrz znacznika <h1> czy <h2> niż to, co jest zapisane jako zwykły tekst. · Przy analizie często ważne jest odrzucanie słów potocznych. Zliczając występujące słowa i szukając tych najczęściej się powtarzających, powinniśmy odrzucać słowa potoczne. · Jeżeli w pewnym tekście wystąpiły, po zliczeniu, np takie teksty: 10 razy XML, 6 razy 'myślenie', 3 razy 'neuron' i 4 razy 'inteligencja', to większe meta-znaczenie tego teksu powinno być przypisane do metaznaczenia pochodzącego od 'inteligencja' (związanego np z myśleniem) niż do tego związanego z XML. · Daniel Dusiński