MECHANIZM ANALIZY PODOBIEŃSTWA KRÓTKICH FRAGMENTÓW TEKSTÓW, NA BAZIE ODLEGŁOŚCI LEVENSHTEINA 1

Podobne dokumenty
MECHANIZM IDENTYFIKACJI I KLASYFIKACJI TREŚCI 1

OPTYMALIZACJA SCHEMATU WAŻENIA TERMINÓW DLA MODELU WEKTOROWEGO TERM FREQUENCY OPTIMIZATION FOR THE VECTOR SPACE MODEL

Języki programowania zasady ich tworzenia

Język ludzki kod maszynowy

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Programowanie w języku Python. Grażyna Koba

Wyszukiwanie dokumentów/informacji

2.8. Algorytmy, schematy, programy

Zapisywanie algorytmów w języku programowania

Architektury Usług Internetowych. Wyszukiwanie usług w systemie BeesyCluster

1 Wprowadzenie do algorytmiki

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

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

Liczbę 29 możemy zaprezentować na siedem różnych sposobów:

Algorytm. a programowanie -

Definicje. Algorytm to:

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

Zasady interpretacji Raportu antyplagiatowego

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018

Wykład z Technologii Informacyjnych. Piotr Mika

Zaawansowane algorytmy i struktury danych

Wyszukiwanie informacji

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

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

WYDZIAŁ BEZPIECZEŃSTWA NARODOWEGO AKADEMII OBRONY NARODOWEJ ZESZYTY DOKTORANCKIE WYMOGI EDYTORSKIE

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan

Priorytetyzacja przypadków testowych za pomocą macierzy

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

System Korekty Tekstu Polskiego

Warsztaty dla nauczycieli

Otwarty System Antyplagiatowy Instrukcja dla promotorów

Algorytm i złożoność obliczeniowa algorytmu

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Podstawowe typy zmiennych

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Programowanie w języku C++ Grażyna Koba

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

(Przy rozwiązywaniu testu (28 pytań) masz prawo wykorzystać wszystkie dostępne aplikacje na Twoim komputerze), dostęp do Internetu jest zabroniony.

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Liczby losowe i pętla while w języku Python

Semantyczne podobieństwo stron internetowych

Wojewódzki Przedmiotowy Konkurs z informatyki dla uczniów szkół gimnazjalnych ETAP REJONOWY 2010/2011 TEST

Wykorzystanie testu t dla pojedynczej próby we wnioskowaniu statystycznym

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Model zaszumionego kanału

Multimedialne bazy danych. Andrzej Łachwa, WFAiIS UJ 2011

Zadania badawcze prowadzone przez Zakład Technik Programowania:

która metoda jest najlepsza

Wykład 6. Wyszukiwanie wzorca w tekście

WYDZIAŁ BIOLOGII I OCHRONY ŚRODOWISKA

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

OSA OTWARTY SYSTEM ANTYPLAGIATOWY

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

ŁAMIEMY SZYFR CEZARA. 1. Wstęp. 2. Szyfr Cezara w szkole. Informatyka w Edukacji, XV UMK Toruń, 2018

Wyszukiwanie tekstów

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

Programowanie dynamiczne

Polcode Code Contest PHP-10.09

142 Egzamin maturalny. Informatyka. Poziom rozszerzony. Zbiór zadań

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Generowanie i optymalizacja harmonogramu za pomoca

Programowanie komputerów

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Wstęp do informatyki

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

I. Raport wykonywalności projektu

Ilustracja metody Monte Carlo do obliczania pola obszaru D zawartego w kwadracie [a, b] [a, b].

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.

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI STYCZEŃ Arkusz I. Czas pracy: 60 minut Liczba punktów do uzyskania: 15

Zasady ewaluacji jakości działalności naukowej jednostek ( ) wg projektu z dnia 14 czerwca 2018 r.

ECDL Podstawy programowania Sylabus - wersja 1.0

Instrukcja weryfikacji pracy w systemie antyplagiatowym OSA przez Promotora

CZYSZCZENIE DANYCH: Automatyczny podział tekstu na rekordy o określonej strukturze

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

WSKAZÓWKI DLA AUTORÓW REFERATÓW

Transkrypt:

SUDIA INFORMAICA 2013 Volume 34 Number 1 (110) Artur NIEWIAROWSKI, Marek SANUSZEK Politechnika Krakowska, Instytut Informatyki MECHANIZM ANALIZY PODOBIEŃSWA KRÓKICH FRAGMENÓW EKSÓW, NA BAZIE ODLEGŁOŚCI LEVENSHEINA 1 Streszczenie. Artykuł przedstawia implementację mechanizmu typu text mining, bazującego na algorytmie odległości transformacyjnej autorstwa Vladimira Levenshteina[4], skutecznie wykrywającego podobieństwo wyrazów o różnej długości. Algorytm zastosowano do analizy podobieństwa jednozdaniowych fragmentów tekstów. Opracowany mechanizm cechuje szybkość analizy zdań i łatwość implementacji. Słowa kluczowe: analiza języka naturalnego, analiza danych tekstowych, text mining, algorytm odległości Levenshteina MECHANISM OF ANALYSIS OF SIMILARIY SHOR EXS, BASED ON HE LEVENSHEIN DISANCE Summary. his paper presents the proposal of text mining mechanism based on Levenshtein Distance Algorithm (LDA)[4], which effectively detect the similarity of different length words. his algorithm for similarity analysis of sentences is used and successfully detects similarities between single sentences. Mechanism is characterized by speed of data analysis and simplify of implementation. Keywords: Natural Language Processing (NLP), Natural Language Understanding (NLU), Data Mining, ext Mining, Levenshtein Distance Algorithm 1. Wprowadzenie do problemu Istnieje wiele algorytmów porównujących fragmenty tekstów pod względem podobieństwa, m.in. oparte na modelu grafowm, modelu przestrzeni metrycznej, czy najbardziej popu- 1 Prezentowane w pracy wyniki badań zrealizowano w ramach tematu nr F-3/105/DS/2012 finansowanego z dotacji na naukę przez Ministerstwo Nauki i Szkolnictwa Wyższego w roku 2012.

108 A. Niewiarowski, M. Stanuszek larnym modelu wektorowym [1, 2]. Mechanizm zaproponowany w niniejszej pracy bazuje na algorytmie odległości edycyjnej [4]. Mechanizm ten pozwala na obliczenie podobieństwa krótkich fragmentów tekstu, przy zachowaniu zadowalającej precyzji i efektywnie niskiego czasu wykonania. W przeciwieństwie do wymienionych algorytmów, przedstawiony model uwzględnia kolejność występowania wyrazów w zdaniach oraz ich podobieństwo, pomijając metody ważenia, eliminacji i ekstrakcji terminów [3]. Wymienione konkurencyjne metody są nastawione na badanie dużych dokumentów tekstowych i ich implementacja jest bardziej złożona od tej zaprezentowanej w publikacji. 2. Model analizy danych Weźmy pod uwagę zagadnienie analizy podobieństwa ciągów wyrazów, gdzie pojedynczy wyraz jest ciągiem liter i cyfr wybranego alfabetu 2. Wyrazy są rozdzielane znakiem spacji i zestawione w danym ciągu w tekst. Długością tekstu jest liczba wyrazów w ciągu (N ), natomiast długością wyrazu jest liczba liter i cyfr w nim występujących (N). Głównym zadaniem proponowanego w pracy algorytmu jest określenie stopnia podobieństwa dwóch ciągów wyrazów (tekstów N i M) o długościach odpowiednio N i M. Model mechanizmu 3 analizy podobieństwa danych tekstowych bazuje na algorytmie odległości edycyjnej Levenshteina [4], opracowanym w roku 1965 przez rosyjskiego uczonego Vladimira Levenshteina. Algorytm ten polega na obliczeniu najmniejszej liczby zmian, niezbędnych do przeprowadzenia na znakach dwóch porównywanych ciągów, dla osiągnięcia ich identyczności 4. Liczba ta jest miarą odległości Levenshteina. Odległość Levenshteina jest uogólnieniem odległości Hamminga (ang. Hamming distance) [6]. W przeciwieństwie do odległości Hamminga, odległość Levenshteina umożliwia porównywanie ciągów o różnej długości, co bezpośrednio przekłada się na liczne zastosowania algorytmu, m.in. w korekcie pisowni, maszynowym tłumaczeniu tekstów czy eksploracji danych tekstowych, a szerzej w mechanizmach wyszukiwarek internetowych, procesorach tekstów itp. Zasada działania algorytmu polega na porównywaniu znaków mieszczących się na odpowiednich pozycjach w badanych dwóch ciągach (o rozmiarach N i M), a następnie na tej podstawie uzupełnianiu macierzy liczbami o wymiarach odpowiadających długości badanych łańcuchów, według schematu (1). Odległością Levenshteina jest wartość liczbowa d(n+1,m+1) macierzy. 2 Alfabet zestaw liter, czyli symboli graficznych dźwięków danego języka, ułożony w tradycyjnym porządku. Encyklopedia PWN. 3 Pojęcie mechanizm w publikacji określa współpracujące ze sobą algorytmy w ramach analizy danych. 4 Dopuszczalnymi operacjami na ciągach są: dodanie znaku, usunięcie znaku, podmiana znaku na inny.

Mechanizm analizy podobieństwa krótkich fragmentów tekstów, na bazie 109 gdzie: K N M i1 j1 d(i,j) min( d(i 1,j) 1, d(i,j 1) 1, d(i 1,j 1) ) 0 : a( i) b( j) 1: a( i) b( j) d( i,0) i d(0, j) j d(0,0) 0 d macierz o rozmiarach (N+1, M+1) utworzona z dwóch porównywanych ciągów, K odległość Levenshteina, N symbol oznaczający pętlę iteracyjną dla i = (1,..., N), i1 N, M rozmiary dwóch badanych ciągów, d(i,j) (i,j)-ty element macierzy d, min funkcja zwracająca wartość najmniejszą z podanych, ß zmienna przybierająca odpowiednio wartości 0 lub 1, a(i) i-ty element ciągu znaków a, b(j) j-ty element ciągu znaków b. Przykładową konstrukcję macierzy d dla dwóch łańcuchów tekstowych studium oraz studia przedstawia rysunek 1. (1) Rys. 1. Macierze d utworzone przez algorytm odległości Levenshteina Fig. 1. Matrixes d made by Levenshtein Distance Algorithm Jak wykażą poniższe badania, algorytm odległości Levenshteina może zostać wykorzystany z powodzeniem również do analizy podobieństwa tekstów (zdań). Wyrazy w tekście będą traktowane jak znaki w oryginalnym podejściu algorytmu Levenshteina. Dodatkowo zostanie zaimplementowana funkcja zwracająca miarę podobieństwa dwóch ciągów przy komparacji wyrazów (zamiast operacji: a(i) b(j)), z uwzględnieniem wartości progowej q, określającej, czy wartość miary podobieństwa dla danego przypadku klasyfikuje go jako rzeczywiste podobieństwo dwóch ciągów.

110 A. Niewiarowski, M. Stanuszek Miara podobieństwa dwóch ciągów P jest obliczana wg zależności (2): K P 1 ( K max ); K max max( N, M ), K 0, M P 0, N 0 gdzie: K max wartość długości najdłuższego z badanych ciągów. Wartość K max jest liczbą kroków zmieniających jeden ciąg w drugi, dla przypadku w którym ciągi zawierają taki zestaw znaków, dla którego należy wykonać operację podmiany dla wszystkich znaków ciągu krótszego i odpowiednią liczbę operacji dodania znaków w tym ciągu, w celu przeprowadzenia go w ciąg dłuższy 5 (tzn. przypadek, w którym odległość Levenshteina jest równa długości najdłuższego ciągu). Zasada działania zależności (2) jest przedstawiona za pomocą przykładów w tabeli 1. abela zawiera cztery zestawienia porównania dwóch ciągów, w postaci: obliczonej odległości Levenshteina (K) oraz miary odległości (P). Zależność (2) daje możliwość klasyfikacji i późniejszego szacowania treści będącej plagiatem względem całości badanych tekstów (zasada dotyczy również wyrazów). gdzie: abela 1 Przykład użycia zależności (2) Lp. Ciąg 1 Ciąg 2 K P 1 Studium Studia 2 0,71 (tj. 71% podobieństwa) 2 Studia Studia 0 1 (tj. 100% podobieństwa) 3 Studia Berek 6 0 (tj. 0% podobieństwa) 4 XXXX XXYY 2 0,5 (tj. 50% podobieństwa) Klasyfikowanie tekstów może zostać przeprowadzone na podstawie formuły (3): if ( P fsim( txt1, txt2 ) q) then true; else false; (3) fsim funkcja z zaimplementowanym mechanizmem analizy danych, zwracająca miarę podobieństwa dwóch ciągów tekstowych, txt1 ciąg tekstowy poddawany analizie, txt2 oryginalny ciąg tekstowy, q wartość z przedziału <0,1>, będąca wyznacznikiem klasyfikacji tekstu jako plagiat (miara podobieństwa dwóch ciągów, określana przez użytkownika). Odpowiednio dobrana do: dziedziny tekstów, języka lub innych informacji, np. o znanej (lub spodziewanej) ilości błędów ortograficznych zawartych w badanych tekstach. Zależność (4) przedstawia algorytm pozwalający na obliczenie odległości Levenshteina dla dwóch badanych tekstów. 0,1 (2) 5 Jeżeli ciągi są tej samej długości, ciągiem krótszym dla opisanej reguły jest dowolny z dwóch ciągów.

Mechanizm analizy podobieństwa krótkich fragmentów tekstów, na bazie 111 gdzie: K N M i 1 j 1 d(i,j ) min( d(i 1,j 0 : fsim( a ( i ), b ( j )) q 1: fsim( a ( i ), b ( j )) q d( i,0) i d(0, j ) j d(0,0) 0 ) 1, d(i,j K - odległość Levenshteina dwóch badanych tekstów, 1) 1, d(i 1,j 1) ) d macierz utworzona z dwóch porównywanych tekstów o rozmiarach wynikających z liczby wyrazów w poszczególnych tekstach, d (i,j ) (i,j )-ty element macierzy d, ß zmienna przyjmująca odpowiednio wartości 0 lub 1, a (i ) i -ty wyraz tekstu a, b (j ) j -ty wyraz tekstu b, N, M długości badanych tekstów. W celu obliczenia miary podobieństwa dla dwóch badanych tekstów należy użyć zależności opisanej równaniem (2). Asymptotyczna złożoność obliczeniowa [7] przedstawionego algorytmu jest rzędu: O ( n 4 ). Wynika to z budowy mechanizmu, który ostatecznie składa się z czterech zagnieżdżonych w sobie pętli iteracyjnych (dwie pętle w zależności (4) i dwie pętle w zależności (1)). (4) 3. Numeryczna weryfikacja wprowadzonego modelu analizy danych Dla zbudowania tekstów o różnym podobieństwie wykorzystano bazę danych stu najpopularniejszych cytatów i złotych myśli sławnych ludzi 6 przetłumaczonych przez program Google ranslate 7, z języka polskiego na języki: angielski, rosyjski i niemiecki, a następnie przetłumaczona z powrotem na język polski odpowiednio dla wymienionych języków 8. Poszczególne teksty zostały przetworzone opisanym wyżej mechanizmem, implementowanym w funkcji określonej zależnością (5): 6 Baza testowa cytatów i złotych myśli została zbudowana na podstawie różnych źródeł dostępnych w Internecie. 7 Interfejs programu jest dostępny na stronie: translate.google.pl. 8 Program Google ranslate został wybrany ze względu na implementację jednych z najlepszych algorytmów maszynowego tłumaczenia tekstów na świecie, co potwierdzają czołowe miejsca w licznych rankingach czasopism komputerowych i prywatnych testów.

112 A. Niewiarowski, M. Stanuszek gdzie: P Levenshtei nwsim( txt1, txt2, q) (5) P miara podobieństwa dwóch tekstów, wartość zwrócona przez funkcję LevenshteinWSim. abela 2 zawiera fragment wyników analizy tekstów 9. Cytat w j. polskim (oryginalny) Analiza tekstów cytatów i ich tłumaczeń Cytat w j. angielskim (przetłumaczony) Cytat w j. rosyjskim (przetłumaczony) abela 2 Cytat w j. niemieckim (przetłumaczony) Cytat w j. pol. tłumaczony z j. niem. Procent podobień- Lp. Cytat w j. pol. tłumaczony Cytat w j. pol. tłu- AUOR z j. ang. maczony z j. ros. Procent podobieństwstwstwa Procent podobień- 1 Uczony jest człowiekiem, he scholar is a man Ученый человек, Der Gelehrte ist ein który wie o rze- who knows about который знает о Mann, über Dinge czach nieznanych innym things unknown to том, неизвестные unbekannt, andere i nie ma pojęcia others and have no другим, и понятия weiß und haben o tym, co znają wszyscy. idea about what they не имею о том, что keine Ahnung, was know everyone. они знают все. sie wissen alle. Uczony jest człowiekiem, Nauczył człowiek, Uczony jest czło- ALBER EINSEIN który wie o który wie o nieznawiekiem o rze- rzeczach nieznanych nych innym i nie czach nieznanych, innym i nie masz mają pojęcia o tym, a inne białe i nie pojęcia o tym, co co wiedzą wszystko. mają pojęcia, co znają wszyscy. wszyscy wiedzą. 2 Celem naszych czynów powinno być czynienie dobra. PLAON (94,4%) (66,7%) (44,4%) he purpose of our Целью наших actions should be действий должны doing делать good. хорошо. Celem naszych działań powinno być czynienie dobra. Celem naszych działań powinno być dobrze. (85,7%) (71,4%) (85,7%) Der Zweck unseres Handelns werden sollte, Gutes zu tun. Celem naszych działań powinno być czynienie dobra. Jeżeli przyjąć, że plagiatem jest tekst, dla którego wartość funkcji LevenshteinWSim zwraca minimum 60% i wyznacznik podobieństwa wyrazów q wynosi 70%, to wykrywalność, na bazie przeanalizowanych danych, wynosi 63% dla języka angielskiego, 44% dla języka rosyjskiego i 39% dla języka niemieckiego. Wartości średnie porównania stu próbek dla poszczególnych języków wynoszą odpowiednio: 68.52% dla języka angielskiego, 55.53% dla języka rosyjskiego, 54.7% dla języka niemieckiego. Jednocześnie należy zwrócić uwagę, 9 Dokument zawierający pełne wyniki analizy danych znajduje się pod adresem: www.pk.edu.pl/~aniewiarowski/publ/lev_cytaty.pdf

Mechanizm analizy podobieństwa krótkich fragmentów tekstów, na bazie 113 że test za pośrednictwem automatycznych translatorów obniża znacząco wyniki analizy podobieństwa tekstów. Obecnie dostępne translatory nie są programami niezawodnymi i w wielu przypadkach przetłumaczenie danych tekstowych w obie strony przyczynia się do całkowitej utraty sensu zdań. Negatywny wpływ na wyniki analizy dwóch tekstów ma w szczególności zastąpienie pierwotnych wyrazów całkowicie innymi po przetłumaczeniu w obie strony. 10,11 W przetłumaczonych zdaniach, w których reprezentatywna liczba wyrazów (wartość parametru dla LevenshteinWSim) nie została zastąpiona całkowicie innymi wyrazami względem oryginałów (posiadających odmienny zestaw liter je budujący), wykrywalność podobieństwa tekstów jest wysoka. Czas obliczeń przedstawionego mechanizmu (tj. przetworzenia w sumie trzystu cytatów) wyniósł poniżej 1 sekundy. 12 4. Podsumowanie Wyniki badań przeprowadzonych dla celów niniejszego artykułu pokazują, że mechanizm analizy danych tekstowych, oparty na algorytmie odległości transformacyjnej Levenshteina, umożliwia w bardzo szybkim czasie i z zadowalającą precyzją analizę podobieństwa krótkich fragmentów tekstów. W przeprowadzonych testach wykorzystano cytaty i złote myśli, ze względu na swoją specyfikę, tj. ukryte przesłanie filozoficzne i budowę z użyciem wyszukanych wyrazów, co ostatecznie miało na celu utrudnienie translacji na języki obce, a także ewentualne uniemożliwienie dostosowania próbek tekstów do osiągnięcia zadowalających wyników. Opisany mechanizm może znaleźć zastosowanie m.in. na stronach (portalach) internetowych, gdzie jest wymagana szybka analiza danych tekstowych (tzw. w locie, np. analiza komentarzy użytkowników) o niedużych rozmiarach [5] 13. BIBLIOGRAFIA 1. Manning C. D., Prabhakar R., Hinrich S.: Introduction to Information Retrieval. Cambridge University Press, 2008. 10 Przykłady: cytaty nr: 17, 78 dla języka rosyjskiego. 11 W takim przypadku jakość analizy danych poprawia implementacja słownika wyrazów bliskoznacznych. 12 Mechanizm został zaimplementowany dla celów testowych w języku programowania PHP, w celu prostego i szybkiego dostępu do bazy danych MySQL umieszczonej na tym samym serwerze. Dodatkowo jest dostępna wersja algorytmu w postaci pliku wykonywalnego pod adresem: www.pk.edu.pl/~aniewiarowski/publ- /levenwest.exe 13 Zaprezentowany mechanizm znalazł zastosowanie w module większego programu, analizującego podobieństwo tematów prac dyplomowych, w celu wykluczenia ich powtarzalności na przełomie lat.

114 A. Niewiarowski, M. Stanuszek 2. Beeferman D., Berger A., Lafferty J.: Statistical models for text segmentation. Mach. Learn., Vol. 34(1 3), 1999, s. 177 210. 3. Lin D.: Automatic retrieval and clustering of similar words. COLING 1998, ACL, 1998, s. 768 774. 4. Левенштейн В.И.: Двоичные коды с исправлением выпадений, вставок и замещений символов. Доклады Академий Наук СCCP 163 (4), 1965, s. 845 848. 5. Chakrabarti S.: Mining the Web: Analysis of Hypertext and Semi Structured Data. Morgan Kaufmann, 2002. 6. Hamming R. W.: Error Detecting and Error Correcting Codes. he Bell System echnical Journal, Vol. XXIX, April, 1950. 7. Christos H. Papadimitriou.: Złożoność obliczeniowa. Helion, Gliwice 2012. Wpłynęło do Redakcji 6 grudnia 2012 r. Abstract his paper presents a proposition of text mining mechanism that analyzes the similarities of short texts, based on the Levenshtein Distance Algorithm. Originally, Levenshtein distance is used to calculate the number of changes needed to replace one word into second one. he proposed mechanism uses an algorithm to calculate the similarity between two or more sentences. Analysis of effectiveness was performed based on 100 quotations, imported into the database. Quotations have been translated by Google ranslate program, into three languages: English, German and Russian, in both directions. Research showed a high detection of similarity sentences in a short time. Adresy Artur NIEWIAROWSKI: Politechnika Krakowska, Wydział Fizyki, Matematyki i Informatyki, ul. Podchorążych 1, 30-084 Kraków, Polska, aniewiarowski@pk.edu.pl. Marek SANUSZEK: Politechnika Krakowska, Wydział Fizyki, Matematyki i Informatyki, ul. Warszawska 24, 31-155 Kraków, Polska, marek.stanuszek@pk.edu.pl.