Wybrane problemy zarządzania wiedzą



Podobne dokumenty
Text mining w programie RapidMiner Michał Bereta

Analiza danych tekstowych i języka naturalnego

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

3 grudnia Sieć Semantyczna

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Multiwyszukiwarka EBSCO Discovery Service przewodnik

Biblioteka Wirtualnej Nauki

Projektowanie baz danych za pomocą narzędzi CASE

Field of study: Electronics and Telecommunications Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Biblioteka Wirtualnej Nauki

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

SPOTKANIE 2: Wprowadzenie cz. I

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Współczesna problematyka klasyfikacji Informatyki

Oracle Designer. Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera :

Wyszukiwanie informacji w internecie. Nguyen Hung Son

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Bank danych regionalnych Ukrainy

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Full Text Search. Study Group Tomasz Libera

Kasy Fiskalne Lublin Analityk

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Szkolenia SAS Cennik i kalendarz 2017

egroupware czy phpgroupware jest też mniej stabilny.

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

Monitoring procesów z wykorzystaniem systemu ADONIS

Część A wprowadzenie do programu

Seeon Enterprise Search Engine. Rozwiązanie obsługiwane przez eo Networks S.A.

XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Nowoczesne narzędzia do ochrony informacji. Paweł Nogowicz

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Repozytorium Uniwersytetu Jagiellońskiego

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

ViLab- program służący do prowadzenia obliczeń charakterystyki energetycznej i sporządzania świadectw charakterystyki energetycznej

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

Praktyczne wykorzystanie elementów raportowania Microsoft Project 2010 /Project Server 2010 Sesja 5 PowerPivot & PowerView Bartłomiej Graczyk

Tom 6 Opis oprogramowania

Dokument Detaliczny Projektu

SZKOLENIA SAS. ONKO.SYS Kompleksowa infrastruktura inforamtyczna dla badań nad nowotworami CENTRUM ONKOLOGII INSTYTUT im. Marii Skłodowskiej Curie

Architektura systemu e-schola

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Jak zapisać wersję elektroniczną pracy dyplomowej? - INSTRUKCJA (krok po kroku)

Tomasz Grześ. Systemy zarządzania treścią

MATLAB Neural Network Toolbox przegląd

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Wyszukiwarka naukowa EBSCO Discovery Service - przewodnik

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

OfficeObjects e-forms

OvidSP - Skrócony opis wyszukiwania - Wyszukiwanie proste i złożone,

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

TREND 250 H.264 DVR Central Management System

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

OfficeObjects e-forms

Repozytorium Zasobów Wiedzy FTP

Skrócona instrukcja obsługi

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Zadania. Przygotowanie zbiorów danych. 1. Sposób 1: 2. Sposób 2:

Analiza i projektowanie aplikacji Java

Jak zapisać wersje elektroniczną pracy dyplomowej? - INSTRUKCJA (krok po kroku)

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Analiza korespondencji

AUTOMATYKA INFORMATYKA

Semantyczne podobieństwo stron internetowych

Anna Osiewalska Biblioteka Główna Uniwersytetu Ekonomicznego w Krakowie

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

QUERY język zapytań do tworzenia raportów w AS/400

Indeksowanie full text search w chmurze

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

1 Wprowadzenie do J2EE

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Kierunek: Informatyka rev rev jrn Stacjonarny EN 1 / 6

Bazy danych i ich aplikacje

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Tom 6 Opis oprogramowania

Narzędzia programistyczne - GIT

Dokumentacja Końcowa

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

58 Zjazd Naukowy PTChem. Zgłaszanie abstraktów

Symfonia Produkcja. Kreator raportów. Wersja 2013

Transkrypt:

Zakład Zaawansowanych Technik Informacyjnych (Z-6) Wybrane problemy zarządzania wiedzą Zadanie nr 1 Praktyczne aspekty zarządzania wiedzą Praca nr 06300017 Warszawa, grudzień 2007

Wybrane problemy zarządzania wiedzą Zadanie nr 1: Praktyczne aspekty zarządzania wiedzą Praca nr 06300017 Słowa kluczowe: kreowanie wiedzy, środowiska wspomagające kreatywność, analiza dokumentów niestrukturalnych, narzędzia, klasteryzacja, ontologie Kierownik pracy: prof. dr hab. inż. Andrzej Wierzbicki Wykonawcy pracy: prof. dr hab. inż. Andrzej Wierzbicki, mgr Edward Klimasara Kierownik Zakładu: dr inż. Janusz Granat Copyright by Instytut Łączności, Warszawa 2007 2

SPIS TREŚCI Wprowadzenie... 4 Część I: Przykład analizy ontologicznej... 5 1 Wstęp... 6 2 Analiza tekstu... 8 3 Podstawy matematyczne... 11 4 Narzędzia... 14 4.1 TextSTAT... 14 4.2 SAS Text Miner... 17 4.3 Oracle Text... 22 4.4 e: IAS... 24 4.5 Neurosoft Gram... 28 4.6 Lucene... 29 4.7 OntoGen TextGarden... 32 5 Porównanie narzędzi... 37 6 Badania tekstów w IŁ... 39 7 Wyniki... 41 7.1 TextSTAT... 41 7.2 SAS Text Miner... 47 7.3 Lucene... 133 7.4 OntoGen TextGarden... 137 8 Podsumowanie i wnioski końcowe... 142 9 Słownik podstawowych pojęć... 144 10 Bibliografia... 145 11 Załącznik... 146 Część II: Zagadnienia kreowania wiedzy i środowiska wspomagające kreatywność... 147 12 Publikacje Profesora Andrzeja Pawła Wierzbickiego... 148 3

Wprowadzenie Niniejsza praca statutowa obejmuje praktyczny przykład analizy ontologicznej prac Instytutu Łączności (część I) oraz szereg publikacji dotyczących zagadnień kreowania wiedzy i środowisk wspierających kreatywność (część II). W części I przedstawiono wyniki obliczeń wykonanych narzędziami informatycznymi służącymi do analizy dokumentów. Przetestowano różne ich klasy, od najprostszych po zaawansowane. Badania statystyczne przeprowadzono na zbiorze 384 artykułów opublikowanych w latach 2000-2007 w Journal of Telecommunications and Information Technology. Odnalezione korelacje pomiędzy dokumentami i pojęciami umożliwiają ich automatyczne grupowanie i budowę ontologii. W części II głównym rezultatem była książka, współredagowana z Yoshiteru Nakamori (pozycja A.1 w poniższym spisie publikacji), podsumowująca kilkuletnie prace i współpracę międzynarodową w tym zakresie (finansowaną zresztą przez stronę japońską, co powinno być uwzględnione w ocenie punktowej za udział w programie międzynarodowym finansowanym ze źródeł zagranicznych). Ponadto publikacje w tym roku obejmują: 3 rozdziały w książkach, 3 artykuły w czasopismach międzynarodowych, 11 referatów na konferencjach międzynarodowych. Tematyka tych rozdziałów, artykułów i referatów jest rozległa, obejmuje teorię negocjacji (pozycja B.1), teorię systemów i modelowania (pozycje B.2, C.1), metody konstrukcji ontologii (pozycje C.4, D.3, D.7), wspomagania decyzji (pozycja D.1) wszystko jednak w aspekcie teorii kreacji wiedzy, a także szereg pozycji (C.2, C.3, D.2, D.4, D.5, D.6, D.8) bezpośrednio dotyczących kreacji wiedzy. 4

Część I: Przykład analizy ontologicznej 5

1 Wstęp Problematyka analizy tekstów, dokumentów od dłuższego czasu w firmach i organizacjach nabiera coraz większego znaczenia. Ponadto jest ona przedmiotem zainteresowania różnych ośrodków naukowych na całym świecie [16],[17],[18],[19]. Powyższe działania podyktowane są potrzebą inteligentnego klasyfikowania i wyszukiwania informacji. Istotnym elementem tego procesu jest budowa stosownych ontologii dziedzinowych. Na ogół dokumenty są przechowywane jako niestrukturalne pliki. Zatem wymagana jest obróbka takiego tekstu poprzez wyeliminowanie słów nieistotnych, sprawdzenie innych do formy podstawowej zgodnie z gramatyką danego języka, ekstrakcja słów kluczowych, obliczanie podobieństw pomiędzy dokumentami. Do osiągnięcia powyższego celu są stosowane technik text mining umożliwiające klasteryzację (grupowanie) dokumentów podobnych. Koniecznym warunkiem przeprowadzenia powyższych prac jest przechowywanie dokumentów w postaci elektronicznej. Własne prace dotyczące analizy takich plików przeprowadzono w Instytucie Łączności (IŁ). W IŁ w sposób elektroniczny przechowywane są informacje o: 1. pracach statutowych, 2. artykułach zamieszczanych w czasopiśmie polskojęzycznym Telekomunikacja i Techniki Informacyjne, 3. artykułach publikowanych w czasopiśmie Journal of Telecommunications and Information Technology (JTIT), 4. artykułach polskojęzycznych zamieszczanych w Biuletynie Informacyjnym IŁ, 5. książkach wydawanych przez IŁ, 6. opracowaniach zrealizowanych w ramach Programu Wieloletniego. Add 1. Baza zawiera 4603 informacje o publikacjach. Słowa kluczowe są podane dla 510 rekordów (publikacji) oraz dostępne są tylko 292 pliki źródłowe publikacji w formacie PDF (objętość 410 MB) obejmujące prace statutowe zrealizowane w IŁ. Brak jest w wielu przypadkach opisów publikacji (opisy występują dla 717 rekordów). Add2. Kwartalnik Telekomunikacja i Techniki Informacyjne zawiera 112 artykułów (objętość 104 MB). Add3. Journal of Telecommunications and Information Technology zawiera 384 artykuły (objętość 369 MB). Add4. W roku 2006 zaczęto wydawać Biuletyn Informacyjny. Do dziś zostały opublikowane 4 artykuły w 2006 roku i 4 artykuły w 2007 roku. Add5. Ponadto Instytut wydaje książki. Ukazała się do tej pory dwie książki dr Wierzbołowskiego. Add6. Baza zawiera 126 opracowań. Ponadto pracownicy IŁ są autorami publikacji w różnych zewnętrznych wydawnictwach zarówno krajowych jak i zagranicznych. Poniżej, w tabelach, przedstawiono dokładne zestawienia statystyczne dotyczące publikacji w IŁ: 6

Tabl. 1. Wydane książki ROK ILOŚĆ ROZDZIAŁY 2006 3 ang. + 1 pol. 18 ang. + 11pol. 2005 1 ang. + 2 pol. 1 ang. + 13 pol. 2004 2 ang. + 0 pol. 4 ang. + 10 pol. 2003 2 ang. + 2 pol. 4 ang. + 5 pol. 2002 1 ang. + 0 pol. 1 ang. + 1 pol. 2001 2 ang. + 1pol. 4 ang. + 0 pol. 2000 2 ang.. + 0 pol. 6 ang. + 1 pol. 1999 1 ang. + 2 pol. 3 ang. + 1 pol. 1998 1 ang. + 0 pol. 5 ang. + 0 pol. 1997 1 ang. + 0 pol. 4 ang. + 1 pol. 1996 2 ang. + 1 pol. 2 ang. + 0 pol. Tabl. 2. Artykuły ROK ILOŚĆ 2006 20 ang + 43 pol 2005 28 ang. + 29 pol. 2004 13 ang. + 37 pol. 2003 10 ang. + 38 pol. 2002 12 ang. + 34 pol. 2001 15 ang. + 48 pol. 2000 23 ang. + 54 pol. 1999 22 ang. + 87 pol. 1998 18 ang. + 48 pol. 1987 7 ang. + 57 pol. 1986 5 ang. + 70 pol. Tabl. 3. Referaty ROK ILOŚĆ 2006 72 ang. + 29pol. 2005 45 ang. + 29 pol. 2004 50 ang. + 27 pol. 2003 48 ang. + 27 pol. 2002 42 ang. + 40 pol. 2001 40 ang. + 46 pol. 2000 34 ang. + 53 pol. 1999 29 ang. + 54 pol. 1998 41 ang. + 69 pol. 1997 12 ang. + 12 pol. 1996 16 ang. + 49 pol. Tabl. 4. Prace doktorskie ROK ILOŚĆ 2006 2 2005 2 2004 1 7

2003 -- 2002 -- 2001 1 2000 1 1999-1998 - 1997-1996 - Tabl. 5. Opracowania wykonane w ramach Programu Wieloletniego ROK ILOŚĆ 2007 49 2006 33 2005 44 Należy zwrócić uwagę, że informacja odnośnie publikacji za rok 2007 jest niepełna, ponieważ dokładna ich ilość będzie znana dopiero na początku 2008 roku po podsumowaniu działalności Instytutu rok poprzedni. Nadmienić jednak trzeba, że proces publikowania prac przez pracowników IŁ realizowany jest sukcesywnie przez cały rok. W IŁ szczegółowej analizie poddano część powyższego zbioru a mianowicie artykuły opracowane w języku angielskim i opublikowane w czasopiśmie Journal of Telecommunications and Information Technology. Wyniki tych prac zostaną przedstawione w dalszej części opracowania. 2 Analiza tekstu Analiza dokumentów kojarzona jest na ogół z NLP (ang. Natural Language Processing). Koncentruje się ona na pojedynczym dokumencie. Natomiast oddolna budowa ontologii z danego obszaru tematycznego wymaga działań szerszych, analizy dużych wolumenów dokumentów (korpusu) na podstawie, których będzie ona tworzona. Do tego celu można zastosować technikę wykorzystywaną przy analizie danych strukturalnych DM (ang. Data Mining). Często określa się TM (ang. Text Mining) jako DM dla dokumentów niestrukturalnych (Rys. 1), w których szuka wzorców i szablonów. 8

Dane strukturalne Data Mining Dane niestrukturalne Text Mining OLAP OLTP Backgroud Knowledge Wyszukiwanie słów kluczowych -klasteryzacja -klasyfikacja -NLP -ontologie -wyszukiwanie Rys. 1. Zestawienie technik do analizy danych strukturalnych i niestrukturalnych Automatyczne przetwarzanie dokumentów języka naturalnego obejmuje następujące zasadnicze fazy: podział tekstu wejściowego na zdania, tokeny, słowa, odrzucenie słów (tagów) nieistotnych (z tzw. stop-listy), tematyzacja tzn. wybór słów istotnych i sprowadzenie ich do postaci podstawowej (stemmer). Są stosowane dwie metody: reguły gramatyki w algorytmie lub słowniki, automatyczne generowanie słów kluczowych, klasteryzacja dokumentów, ontologie, tezaurusy itp. Z kolei sam proces analizy tekstu przebiega wg schematu przedstawionego na Rys. 2. 9

,, Dokumenty wejściowe Analiza flexalna i gramatyczna Stop-lista Stemmer Dokumenty przetworzone Rys. 2. Fazy analizy dokumentów Tokeny dzielą tekst na bardzo proste elementy takie jak: liczby, punktacja, słowa. Powyższy proces zależny jest od języka, w jakim dany tekst został zbudowany i jakiego obszaru tematycznego dotyczy. Łatwiejszy jest dla języka angielskiego czy też niemieckiego a o wiele trudniejsza dla języka polskiego, ponieważ gramatyka zdań jest w tym przypadku bardziej złożona i wymaga skomplikowanej analizy. Należy zwrócić uwagę, że tekst tekstowi nie równy. Inny jest tekst literacki, z publicznie dostępnych gazet czy też naukowy często zawierający obok terminów naukowych rysunki wykresy, wzory matematyczne czy chemiczne, litery alfabetu greckiego. Jak na razie nie ma idealnego programu, który by potrafił bezbłędnie przetworzyć każdy dokument. Co prawda są dostępne narzędzia zarówno komercyjnych jak i bezpłatne umożliwiające analizy tekstów ale ich jakość jest różna. Od bardzo prostych po bardziej zaawansowane. Wiele z nich dostosowana jest do języków zachodnich niektóre z nich potrafią analizować nawet teksty chińskie czy też japońskie. Gorzej jest z językiem polskim ze względu na mały rynek dla takiego produktu. Aczkolwiek są już dostępne pewne rozwiązania, które zostaną przedstawione w dalszych rozdziałach opracowania. Osobne zagadnienie to wymagany format wejściowy danych do systemu analizującego dokumenty. Na ogół jest to.txt, html, rzadziej.doc czy.pdf. W przypadku innych formatów niż.txt systemy mają wbudowane własne konwertery do wymaganego formatu. A zatem często trzeba dokonać konwersji dokumentu np. z formatu.pdf do.txt. Jednak w przypadku dokumentów naukowych zawierających wzory matematyczne, chemiczne, specyficzne litery z różnych języków otrzymuje się postać wynikową mocno zniekształconą i bardzo odbiegającą od oryginału. 10

Do analizy dokumentów stosuje się dedykowane narzędzia informatyczne. Można je podzielić na: proste - umożliwiające uzyskanie podstawowych statystyk w dokumentach takich jak częstość występowania, współwystępowania słów) (np.textstat), silniki indeksowania i wyszukiwania informacji (np. Lucene, Windows Desktop Search, Google, Yahoo), zaawansowane - pozwalające na złożoną analizę tekstów, z wykorzystaniem technik klasteryzacji, wizualizacją wyników i możliwością budowania ontologii (np. SAS Text Miner, Oracle Text, OntoGen Text Garden). Wynikiem analizy fleksalnej i gramatycznej dokumentu jest zbiór słów. Tylko część z nich jest istotna dla treści. Słowa, której najczęściej występują w większości dokumentów powinny zostać pominięte, ponieważ są to zaimki, przyimki i spójniki. Następny etap stemming usuwa przyrostki i przedrostki oraz sprowadza słowa do formy podstawowej w oparciu o algorytmy rozpoznające reguły gramatyczne lub też poprzez odwołanie się do stosownych słowników. Przykładem słownika dla języka angielskiego może być WordNet. Natomiast prace nad stworzeniem polskiego WordNetu są prowadzone przez zespół kierowany przez Politechnikę Wrocławską. Więcej informacji na ten temat jest dostępnych pod adresem [7]. Dokumenty są przedstawiane jako zbiory słów (ang. bag of words) z wyliczeniem jak często każde z nich występuje w każdym dokumencie (ang. term-by-document frequency). 3 Podstawy matematyczne Przeszukiwanie danych niestrukturalnych (wyszukiwanie pełnotekstowe) oparte jest na modelu przestrzeni wielowymiarowej. Tworzą ją wszystkie słowa zawarte w obrabianych dokumentach. Dokument można interpretować jako wektor składający się z n słów, gdzie każda współrzędna określa częstość wystąpień danego słowa w analizowanym dokumencie. Podobieństwo dokumentów można mierzyć za pomocą cosinusa kąta pomiędzy wektorami je opisującymi. aikail i S (k,l)= 2 aik i i a 2 il (1) Gdzie k, l wektory opisujące dokumenty. Podstawą analizy zbioru dokumentów jest macierz term-by-document frequency. Najlepiej wytłumaczyć jej utworzenie i zastosowanie na podstawie przykładu [14]. Jeśli mamy następujące dokumenty: D 1 -- deposit the cash and check in the bank, D 2 -- the river boat is on the bank, D 3 -- borrow based on credit, D 4 -- river boat floats up the river, D 5 -- boat is by the dock near the bank, D 6 -- with credit, I can borrow cash from the bank, 11

D 7 -- boat floats by dock near the river bank, D 8 -- check the parade route to see the floats, D 9 -- along the parade route. to macierz term-by-document frequency A = aij jest następująca: Tabl. 6. Macierz term-by-document frequency [14] D1 D2 D3 D4 D5 D6 D7 D8 D9 the 2 2 0 1 2 1 1 2 1 cash 1 0 0 0 0 1 0 0 0 check 1 0 0 0 0 0 0 1 0 bank 1 1 0 0 1 1 1 0 0 river 0 1 0 2 0 0 1 0 0 boat 0 1 0 1 1 0 1 0 0 + be 0 1 0 0 1 0 0 0 0 on 0 1 1 0 0 0 0 0 0 borrow 0 0 1 0 0 1 0 0 0 credit 0 0 1 0 0 1 0 0 0 + float 0 0 0 1 0 0 1 1 0 by 0 0 0 0 1 0 1 0 0 dock 0 0 0 0 1 0 1 0 0 near 0 0 0 0 1 0 1 0 0 parade 0 0 0 0 0 0 0 1 1 route 0 0 0 0 0 0 0 1 1 parade route 0 0 0 0 0 0 0 1 1 Ważność słów można zwiększać lub zmniejszać stosując współczynniki zwane wagami. Otrzymujemy wówczas macierz ważonej częstotliwości. Są zastosowane następujące wagi: Frequency Weight (dotyczy występowania samego wyrażenia), Term Weight (dotyczy liczby wystąpień danego wyrażenia w całej kolekcji zbiorze dokumentów). Frequency Weight precyzuje metodę określania częstości występowania określonych zwrotów w dokumencie. Można tutaj wymienić następujące metody: Binary ma wartość W ij = 1, gdy dane słowo występuje natomiast, Wij = 0 w przeciwnym przypadku, 12

Log (logarytmiczna) -wynosi logarytm przy podstawie 2 z liczby określającej częstość + 1. W log 2 ( a + 1), Pomniejsza wagę zwrotów, które się często ij = ij powtarzają, None oznacza częstotliwości bez modyfikacji W = a. Term weight wagę zwrotu określa się za pomocą następujących metod: Entropy - przypisuje najwyższą wagę słowom, które wystąpiły najrzadziej w danym dokumencie, IDF (ang. Inverse Document Frequency) wagą jest odwrotnością liczby dokumentów, w których pojawił się dany zwrot, GF-IDF (ang. Global Frequency-Inverse Document Frequency) obliczamy mnożąc IDF przez całkowitą częstotliwość, Normal waga ta jest proporcjonalna to ilości wystąpienia danego słowa w dokumencie, None każdemu zwrotowi przypisuje się wagę 1, Chi-Squared wykorzystuje wartość testu Chi-kwadrat, Mutual Information pokazuje jak rozkład dokumentów z wyrażeniem i znajduje się blisko rozkładu dokumentów w całym zbiorze. Information Gain określa oczekiwaną redukcję w Entropy w przypadku podzieleniu zbioru dokumentów według tego wyrażenia i. Wzory matematyczne związane z poszczególnymi wagami zwrotów zawarte są w Tabl. 7. Entropy TF-IDF (ang. Term Frequency- Inverse Document Frequency); GF-IDF IDF (ang. Inverse Document Frequency) Normal Tabl. 7. Term Weight [14] ij pij log pij Gi = 1+ 2 ( ) (2) j log2( n) gi G = (3) i d i n G = log 2 ( ) + 1 (4) G i i = j d i 1 f ij None G i = 1 (6) Chi-Squared Wartość statystyki chi-kwadrat ij (5) Mutual Information Information Gain P( xi, k) Gi = max k[log( )] P( xi ) P( k) Gi = P( k)log P( k) + P( i) P( k i)log P( k i) + P( i) k k P( k i)log P( k i) k (7) (8) 13

Gdzie: f ij oznacza częstość wyrażenia i w dokumencie j, d i oznacza ilość dokumentów, w których wyrażenie i się pojawia, g i to ilość wystąpień wyrażenia i w całej kolekcji dokumentów, n to ilość dokumentów w kolekcji. Natomiast f ij p ij = (9) gi W przypadku dużych kolekcji dokumentów macierz term-by-document frequency może być bardzo duża - rzędu np. kilka tysięcy, co więcej zawiera na ogół dużo zer. Aby taka macierz przetworzyć trzeba by zastosować komputery o bardzo dużej mocy obliczeniowej. Nie jest to rozwiązanie praktyczne. Zatem stosuje się technikę redukcji wymiaru SVD (ang. Singular value decomposition) - dekompozycji pojedynczych wartości. Redukcja wymiarów ma na celu wygenerowanie k wymiarów, które najlepiej przybliżą macierz ważonej częstotliwości. 4 Narzędzia Do analizy tekstu są wykorzystywane narzędzia zarówno ogólnodostępne typu open source lub komercyjne. Niektóre są bardzo proste oferujące podstawową funkcjonalność inne bardzie rozbudowane mają dużo bardziej zaawansowane możliwości. Posiadają rozbudowaną stoplistę z możliwością jej modyfikowania, jaki i zaawansowane programy analizujące składnię. Dobrze sobie radzą z językami zachodnimi, chińskim czy nawet japońskim. Problem jest z językiem polskim. Nie dotyczy on tylko sposobu kodowania polskich znaków, ale i programów analizujących składnię. W ramach pracy przeanalizowano kilka wybranych narzędzi, ważniejsze przedstawiono w następnych rozdziałach opracowania. 4.1 TextSTAT TextSTAT jest prostym programem służącym do analizy statystycznej tekstu [5]. Może na wejściu pobierać pliki ASCII/ANSI czy HTML i tworzy listę częstość występowania i współwystępowania wyrazów i fraz. Interfejs użytkownika dostępny jest w języku angielskim, holenderskim, portugalskim i niemieckim. Program jest udostępniany na zasadzie freeware. Kod źródłowy opracowany został w Pythonie i też jest dostępny za darmo. Najnowsza wersja programu 2.7 potrafi również analizować pliki utworzone w MS Word i OpenOffice. System obsługuje różne standardy kodowania znaków (ISO-8859-1,,ISO-8859-8, CP1250, CP1252, znaki rosyjskie, chińskie, unicode UTF-8). Autorem programu jest Matthias Huning z Free University of Berlin. System pracuje na różnych platformach: Windows XP, Linux, MacOS. Okno główne programu przedstawiono na Rys. 3. 14

Rys. 3. Przykład budowy korpusu dokumentów Na początku należy załadować zbioru dokumentów, które będą analizowane (menu Corpus). Następnie wybrać z menu Word forms opcję Frequency list. Otrzymujemy wówczas statystykę występowania tokenów w analizowanym zbiorze dokumentów (Rys. 4). 15

Rys. 4. Statystyka występowania wyrazów w dokumentach System umożliwia również wyszukiwanie fraz (menu Concordance). Przykład wyszukania frazy knowledge management pokazano na Rys. 5. 16

Rys. 5. Wyszukane frazy z dokumentów System umożliwia eksport wyników w formacie MS Excel. 4.2 SAS Text Miner W profesjonalnym pakiecie SAS 9.1 dedykowanym do analizy danych znajduje się podsystem Text Miner umożliwiający wydobywanie informacji z dokumentów w postaci strukturalnej, jaki i niestrukturalnej [14]. Rozpoznaje on formaty danych takie jak: tekst, MS Word, Adobe PDF. Jest elementem modułu SAS Enterprise Miner. Analizuje zestawy dokumentów i wydobywa z nich wzorce (ang. pattern searching). Możliwe jest grupowanie dokumentów na określone kategorie. Ponadto dopuszczalna jest analiza dokumentów utworzonych w językach zachodnioeuropejskich, chińskim i arabskim. Podobno w przyszłości ma do tej listy zostać dołączony język polski. SAS Text Miner: poszukuje rdzeni wyrazów, rozpoznaje synonimy, rozpoznaje terminy wielowyrazowe, standaryzuje wiele wyrażeń (waluta, data, rok, procenty), wydobywa takie wyrażenia jak jednostka organizacyjna, produkty, tytuły. Fazy działania text miningu obejmują: 17

połączenie wielu dokumentów w jeden, który jest wejściem dla Text Minera, dekompozycję danych tekstowych i utworzenie stosownej reprezentacji liczbowej, transformację i zredukowanie wymiarów, analizę (grupowanie, klasyfikacja, budowa powiązań tematycznych). Stop-lista dla języka angielskiego została umieszczona w tablicy SASHELP.STOPLST. Zawiera słowa, które są mało istotne takie jak: spójniki, przyimki, przedimki. W wersji standardowej zawiera około 340 słów. Użytkownik może ją aktualizować w zależności od potrzeb. Jej fragment został pokazany na Rys. 6. Rys. 6. Stop-lista w SAS Text Miner Z kolei stemming dokumentów zapewnia automatyczne odnajdywanie podstawowej formy fleksyjnej wyrazów, czy też ich formy kanoniczne np. różne formaty zapisu tej samej daty. Ponadto istnieje możliwość ignorowania następujących części mowy: skrótów, przysłówków, czasowników posiłkowych, przyimków, zaimków, nazw własnych, wykrzykników, 18

czasowników, przymiotników, rzeczowników, liczb, rodzajników, spójników, negatywnych partykuł. System wyposażony jest w listę synonimów o nazwie SASHELP.ENGSYNMS, którą użytkownik może modyfikować. Wszystkie metody statystyczne wymienione w rozdziale 3. można zaimplementować podczas obliczeń. Budowa aplikacji wymaga dołączenie do systemu danych wejściowych, ustawieniu parametrów i uruchomieniu przetwarzania. Proces ten realizowany jest w sposób graficzny poprzez wybór z paska narzędziowego odpowiednich ikon i uruchomieniu odpowiednich skryptów. Jako efekt działania systemu otrzymujemy listę słów kluczowych oraz klasteryzację dokumentów. Zasadnicze okno systemu pokazano na Rys. 7. Rys. 7. Łączenie danych wejściowych z modułem Text Miner Z kolei Rys. 8 przedstawia wynik działania aplikacji. 19

Rys. 8. Przykładowe wyniki działania systemu System umożliwia wizualizację wyników w przeglądarce Internetowej. Klikając na frazę umieszczoną w lewym dolnym rogu można uzyskać relacje z nią związane. Przykładowe wyniki znajdują się na rysunkach poniżej. Rys. 9. Wizualizacja wyników (1) 20

Rys. 10. Wizualizacja wyników (2) Rys. 11. Wizualizacja wyników (3) Klikając przykładowo na powyższym obrazku na element Semiconductor devices uzyskuje się listę dokumentów związanych z danym pojęciem oraz słowa kluczowe (Rys. 12). 21

Rys. 12. Lista dokumentów 4.3 Oracle Text System zarządzania bazą danych Oracle 10g w wersji Standard i Enterprise Edition zawiera moduł Oracle Text [6]. Wykorzystuje on język SQL (ang. Structured Query Language) do indeksowania, wyszukiwania, analizy tekstów i dokumentów zapamiętanych w bazie danych Oracle, w plikach i w sieci Web. System rozpoznaje rozmaite formaty wejściowe danych: HTML, XML, MS Office, Adobe, niesformatowany tekst itp. Ogólna architektura systemu została przedstawiona na Rys. 13. 22

Internet Pliki z danymi Zbiór danych Filtr Sectionier Lexer Indexing Engine WordList StopList Index termów Rys. 13. Architektura systemu Oracle Text [6] Oracle Text przeprowadza analizę dokumentów. Poszczególne moduły biorące udział w tym procesie realizują następujące zadania: Filter rozpoznaje różne formaty wejściowe. Przekształca je następnie do formatu HTML, Sectioner rozpoznaje Tagi w HTML-u i XML-u, Lexer wydziela z uzyskanego materiału z Sectionera słowa i tokeny (np. określenie czerwono-czarny), Lexer usuwa słowa umieszczone na stop-liście, Indexing engine buduje indeks odwrócony, czyli listę słów z podłączoną listą dokumentów, w których dane słowo występuje. Dostępne są trzy sposoby indeksowania: standardowy (ang. context) tradycyjny do pełnego wyszukiwania, katalogowy (ang. ctxcat) dedykowany dla ebuisiness, który zapewnia szybkie, elastyczne wyszukiwanie i sortowanie, klasyfikujący (ang. ctxrule) służący do budowania klasyfikacji. Jest tworzony w oparciu o tabele z pytaniami, gdzie pytania określają kryteria klasyfikacji. Oracle Text oferuje różne sposoby wyszukiwania np. wyszukiwanie wg zadanych wyrazów, fraz, wyszukiwanie wyrazów o takim samym rdzeniu, wyszukiwanie wg tematów, ignorowanie słów nieistotnych, tworzenie złożonych pytań z użyciem operatorów AND, OR, NOT. W wyniku otrzymujemy ranking odpowiedzi. Przy jego budowie wykorzystuje się następujące techniki klasyfikacji dokumentów: 23

klasyfikację opartą na regułach (ang. rule-based classification). Może być ona wykorzystana do automatycznego kierowania przychodzących do call center listów elektronicznych do odpowiednich wydziałów, nadzorowane uczenie (ang. supervised training) wykorzystuje treningowy zbiór dokumentów do klasyfikacji dużych zbiorów danych. Przykładami takich technik są drzewa decyzyjne i SVM (ang. Supported Vector Machines), klasteryzację (ang. clustering) grupuje ona podobne dokumenty w zależności od ich zawartości. Wykorzystywane są tutaj techniki takie jak K-Means i klasteryzacja hierarchiczna. Oracle Text wspomaga wiele języków i sposoby kodowania znaków. Wybór języka polskiego wymaga zakupu dodatkowego modułu od firmy Empolis. System pozwala na mieszanie dokumentów w różnych językach narodowych, zbiorów znaków i zadawania pytań w tak heterogenicznym środowisku. Pojęcia są kwalifikowane w oparciu o bazę wiedzy, która zawiera 400 000 pojęć z różnych dziedzin sklasyfikowanych w 2000 głównych kategoriach. Te kategorie są zorganizowane hierarchicznie na szczycie, których znajduje się sześć głównych kategorii: biznes i ekonomia, nauka i technologia, geografia, administracja i wojsko, zagadnienia socjalne oraz pojęcia abstrakcyjne. Użytkownik może bazę wiedzy rozszerzać poprzez dodawanie nowych pojęć. Możliwa jest również graficzna wizualizacja uzyskiwanych wyników. Taki przykład przedstawiono na Rys. 14. 4.4 e: IAS Rys. 14. Wizualizacja wyników w Oracle Text [6] Z kolei firma Empolis GmbH [4] oferuje system e: Information Access Suite (e: IAS), który umożliwia rozwiązywanie następujących zadań dotyczących zarządzania informacją: wyszukiwanie informacji w repozytoriach danych, automatyczne klasyfikowanie, kierowanie i porządkowanie informacji, automatyczne monitorowanie repozytoriów informacji, aby wykryć istotne zmiany, 24

zautomatyzowane tworzenie i wzbogacanie informacji, zautomatyzowane wydobywanie informacji, wiedzy. W systemie można wyróżnić dwa zasadnicze moduły: TextMiner, OntologyBuilder. TextMiner wykorzystuje zaawansowane algorytmy analizy tekstu. Bardzo duże są również możliwości eliminowania nieistotnych wyrazów, fraz. Oprócz bezpośredniego umieszczenia na liście zbędnych słów istnieje opcja eliminowania wyrazów o długości z poza pewnego przedziału liczbowego, czy też samych liczb. System obsługuje języki zachodnioeuropejskie, chiński, japoński oraz polski. Wykorzystuje standard kodowania znaków Unicode (UTF-8). Do budowy i utrzymywania ontologii stosuje się narzędzie e:ias OntologyBuilder, które analizuje dokumenty i odnajduje w nich podobieństwa. Inżynier wiedzy na bazie zebranych danych może zadecydować, które obiekty włączyć do modelu wiedzy. Ontologia może składać się między innymi z taksonomii, synonimów, powiązań między pojęciami, tłumaczeniem pojęć na języki obce. Uzyskanie inteligentnej odpowiedzi z dokumentów strukturalnych czy tez niestrukturalnych na podstawie pytania zadanego w języku naturalnym wymaga zastosowania technologii sztucznej inteligencji i wnioskowania w oparciu o przykłady CBR (ang. Case-Based Reasoning). System uczy się na podstawie przykładów, którymi są przechowywane w komputerze udzielone odpowiedzi. Cały proces poczynając od danych wejściowych, poprzez analizę tekstu aż do budowy ontologii można zamodelować w sposób graficzny poprzez wybór i połączenie odpowiednich ikon na ekranie systemu (Rys. 15). Rys. 15. Proces modelowania analizy dokumentów [13] 25

Ontologie są budowane zgodnie z standardami OWL (ang. W3C Web ontology Language) i RDF (ang. W3C Resource Description Framework). Rys. 16. Wybór parametrów [13] OntologyBuilder wykorzystuje dwa narzędzia: Concept Modeling Tool i Relation Modeling Tool. Pierwsze oblicza statystyki dotyczące wyrazów. Drugie pokazuje relacje pomiędzy klastrami, jakie zostały utworzone podczas analizy dokumentów. Przykładowe okna tych narzędzi zostały przedstawione na rysunkach poniżej. 26

Rys. 17. Concept Modeling Tool [13] Rys. 18. Relation Modeling Tool [13] System ma otwartą, skalowalną architekturę. Integruje się z interfejsami platform aplikacji WWW,.NET, Java, Eclipse. 27

4.5 Neurosoft Gram System Neurosoft Gram 2.3 [2] jest prostym komercyjnym rozwiązaniem informatycznym służącym do analizy leksykalnej i morfologicznej tekstów napisanych w języku polskim. Znajduje zastosowanie do indeksacji i przeszukiwaniu pełnotekstowych baz danych, tworzeniu streszczeń. Ukierunkowany został na analizę zawartości dokumentów. Ma możliwość zintegrowania z dowolnym programem. Stemmer redukuję fleksję do formy podstawowej np. dla rzeczowników do mianownika liczby pojedynczej, dla czasowników do bezokolicznika, dla przymiotników i imiesłowów przymiotnikowych do mianownika liczby pojedynczej rodzaju męskiego. Moduł współpracuje ze słownikiem Grama. Istnieje możliwość ustawienia parametrów odnośnie sposobu redukcji słów w zależności od potrzeb użytkownika. Słownik bazowy języka polskiego zawiera około 135 000 haseł, tworzonych jest ponad 2 100 000 form fleksyjnych z uwzględnieniem nieregularności. System dostępny jest na platformy Linux, Unix, MS Windows. Może pracować z plikami o różnym sposobie kodowania znaków, obsługuje formaty HTML, XML. Zapytania są tworzone w języku SQL. Analiza tekstu odbywa się wg schematu przedstawionego na Rys. 19. Na ogół wykorzystywany jest do pełnotekstowego indeksowania i wyszukiwania np. w Internecie, Intranecie. Start Pobierz kolejne zdanie Czy jest jeszcze jakieś zdanie? Stop T Pobierz kolejne słowo N Czy jest jeszcze jakieś słowo? Pobierz informację o słowie Rys. 19. Schemat analizy tekstu przez system Neurosoft Gram [2] 28

Natomiast sam proces przetwarzania przebiega wg schematu pokazanego na Rys. 20. Start Utwórz obiekt Gram Utwórz parametry przetwarzania Wprowadź tekst do analizy Analiza tekstu Pobierz wynik analizy Wyzerowanie obiektu Gram T Czy przeanalizowałeś nowy tekst? Usuń obiekt Gram Stop Rys. 20. Schemat przetwarzania tekstu przez system Neurosoft Gram [2] Dane wejściowe do systemu mogą być przekazywane jako jeden blok lub dosyłane kolejno mniejszymi modułami. 4.6 Lucene Lucene jest to oprogramowanie typu open source napisane w Javie i wywodzące się z projektu Apache [3]. Służy ono do indeksowania dokumentów i wyszukiwania informacji w oparciu o zadane pytania wg. słów kluczowych. Potrafi obsłużyć złożone wyrażenia zawierające operatory logiczne AND, OR, NOT oraz realizować wyszukiwanie rozmyte. Lucene wykorzystuje klasę StandardAnalyzer do badania tekstu (stemmer Portera) i wybierania słów do indeksowania. Istnieje stemmer dla języka polskiego, który w wersji 29