Научная статья на тему 'Порівняння алгоритмів нечіткого пошуку в текстах українською мовою'

Порівняння алгоритмів нечіткого пошуку в текстах українською мовою Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
547
50
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — М. В. Михайлова

У роботі проведено теоретичне та експериментальне порівняння ефективності роботи ряду методів нечіткого пошуку у текстових документах українською мовою. Показано, що найшвидшим та найефективнішим методом для пошуку слів з помилками є пошук за метрикою Левенштейна, найефективнішими для пошуку спільнокореневих слів пошук за регулярним виразом та метод пошуку максимального спільного рядка з літерами, що розташовані поспіль, розроблений автором.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This paper is devoted to theoretical and experimental comparison of efficiency of several main fuzzy search methods applied to the task of search in textual documents in Ukrainian. It is shown that the fastest and the most effective method of misspelled words search is a method that uses Levenshtein distance, while the most effective method of cognate words search is a regular expression matching search and a method searching the longest common substring with adjacent letters designed by the author.

Текст научной работы на тему «Порівняння алгоритмів нечіткого пошуку в текстах українською мовою»

М. В. Михайлова: ПОР1ВНЯННЯ АЛГОРИТМ1В НЕЧ1ТКОГО ПОШУКУ В ТЕКСТАХ УКРАШСЬКОЮ МОВОЮ

длины передаваемых кадров картина наблюдалась аналогичная. Наносекундный разброс времен возникновения второй коллизии в этом случае, скорее всего, связан с разбросом задержек кадров в буферах рабочих станций.

ВЫВОДЫ

Основываясь на стандартных положениях метода доступа к разделяемой среде CSMA/CD, используемого в сетях Ethernet, разработана простая аналитическая модель, позволяющая рассчитать время возникновения коллизий и временные задержки при передаче кадров в сегменте сети Ethernet с двумя рабочими станциями. С использованием этой модели выполнено исследование программы моделирования «Анализатор сетей Ethernet». Полученная в программе зависимость времени возникновения первой коллизии от длины сегмента демонстрирует хорошее соответствие разработанной аналитической модели. Однако зависимость времени возникновения коллизий от задержки начала передачи кадра второй станцией в программе установить не удалось, что, очевидно, следует отнести к ограничениям используемых в ней алгоритмов. Также получена зависимость времени возникновения второй коллизии от длины сегмента для случая одновременной повторной высылки кадров.

ПЕРЕЧЕНЬ ССЫЛОК

1. Таненбаум Э. Компьютерные сети. 4-е изд. - СПб.: Питер, 2003. - 992 с.

2. Абросимов Л. И. Анализ и проектирование вычислительных сетей: Учебное пособие. - М.: Издательство МЭИ, 2000. - 52 с.

3. Wang J. and Keshav S. Efficient and accurate Ethernet simulation // Technical Report TR99-749, Department of Computer Science, Cornell University (USA). - 1999. -Pp. 182-191.

4. Новиков Ю. В., Кондратенко С. В. Локальные сети: архитектура, алгоритмы, проектирование. - М.: ЭКОМ, 2000. - 312 с.

5. Анализатор сетей Ethernet - официальный сайт [Электронный ресурс] / Авт. Яшкин Д. - Электрон. дан. (7 файлов). - [Рязань?], [200-?]. - Режим доступа: http://yd.ryazan.ru/index.html, свободный. - Загл. с экрана. - Яз. рус.

Надшшла 22.09.06 Шсля доробки 1.12.06

Виконано досл1дження побудованоЧ за допомогою про-грами «Анал1затор мереж Ethernet» модел1 мереж1 та 'i'i пор1вняння з розробленою моделлю виникнення кол1зш у сегмент1 i3 двома робочими станщями. Отримано добру в1дпов1дтстъ для залежностi часу виникнення першоЧ колiзi'i вiд довжини сегмента, однак виявлет деякi обме-ження програми.

Research of the model constructed with the "Analyzer of Ethernet network" program and its comparison with the developed model of collisions occurrence in a segment with two workstations is carried out. Good correspondence for the dependence of the first collision occurrence time on segment length is detected, some restrictions of the program however are found out.

УДК 025.4.03

М. В. Михайлова

П0Р1ВНЯННЯ АЛГОРИТМА НЕЧ1ТК0Г0 ПОШУКУ В ТЕКСТАХ УКРА1НСЬК0Ю МОВОЮ

У робот1 проведено теоретичне та експериментальне пор1вняння ефективност1 роботи ряду метод1в неч1ткого пошуку у текстових документах укратською мовою. Показано, що найшвидшим та найефективтшим методом для пошуку сл1в з помилками е пошук за метрикою Левен-штейна, найефективтшими для пошуку стльнокореневих сл1в - пошук за регулярним виразом та метод пошуку максимального стльного рядка з л1терами, що розташо-ват постль, розроблений автором.

ВСТУП

Розвиток теори 1 практики створення та використан-ня баз даних приводить до поняття сховища даних -централ1зовано! бази р1знор1дних даних, отриманих з р1зних джерел, як1 часто збер1гаються у текстовому

© Михайлова М. В., 2007

вигляд1 [1]. Основною мовою даних сховища звичайно е нацюнальна мова.

Одним з основних засоб1в створення запит1в у схо-вищах даних е алгоритми пошуку в текстових документах необхщно! шформацп за рядом ознак: власне за зм1стом документа або за вторинними ознаками (дата, обсяг, розташування, природа). Найефективтшим засобом перев1рки релевантност1 (вщношення до теми) документу е пошук у ньому ключових сл1в.

За рядом причин точний пошук за ключовими словами (пошук у текст1 безпосередньо заданих сл1в) не дае бажаних результат1в, тому пров1дне м1сце серед ал-горитм1в пошуку за ключовими словами займають алгоритми неч1ткого пошуку. Головна щея неч1ткого пошуку полягае у тому, що у текст1 зустр1чаються слова,

певною м1рою схож1 на шукаш, вживання яких дозво-ляе в1днести документ до шукано! теми.

Розробка 1 дослщження методов нечеткого пошуку ведеться багато десятир1ч, але результати часто неза-стосовш до укра'1'нсько'1' мови через и 1стотн1 граматичш в1дмшност1 в1д мов, для яких проводилися досл1джен-ня. 1нформащя щодо застосування методов нечеткого пошуку до текстов украшською мовою практично в1дсутня.

Предметом дано! роботи е досл1дження 1 пор1вняння ефективност1 ряду 1снуючих та розроблених автором методов нечеткого пошуку, застосованих до текстов украшською мовою.

1 ПРЕДМЕТНА ОБЛАСТЬ. ПОСТАНОВКА

ЗАДАЧ!

Перш1 згадки про задачу нечеткого пошуку в1дно-сяться до 60-х - 70-х рок1в, коли вона з'явилася у ряд1 р1зних областей, головними з яких були тод1 1 зали-шаються сьогодш обчислювальна бюлопя (пор1внян-ня ланцюжк1в ДНК з можливими мутащями), обробка сигнал1в (задач1 перетворення сигнал1в 1з датчик1в у зручну для збер1гання та обробки форму, наприклад, розп1знавання мови, оптичне розп1знавання символ1в, виправлення помилок тощо) та текстовий шформацш-ний пошук. Сучасш застосування включають виявлен-ня в1рус1в та злочинного проникнення в комп'ютерш системи, стискання граф1чних файлов, розп1знавання образ1в, пор1вняння файл1в та оновлення зображень на екраш.

Дана робота присвячена пор1внянню метод1в розв'я-зання задача текстового шформацшного пошуку - пошу-ку у великих п1дб1рках текстових документ1в 1нформа-цп, яка стосуеться заданого питання. Точного пошуку ключових сл1в недостатньо, оск1льки стр1мке зростання обсяг1в доступних текстов, яке спостер1гаеться у тепе-р1шнш час, супроводжуеться ростом к1лькост1 помилок, а точний пошук не знайде слово, яке було неправильно написано при внесенн1 до бази даних. Схожим застосу-ванням розглянутих метод1в може бути перев1рка орфо-графЦ сл1в в ход1 1х набору.

3 техшчно1 точки зору задача нечеткого пошуку по-лягае у тому, щоб знайти серед запропонованого набору документов текст, в якому з'являеться слово, яке схоже на задане користувачем слово або регулярний вираз (дал1 «зразок»). Текст розглядаеться як лшшна посл1довн1сть символов.

У дан1й робот1 розглядаеться лише пошук в режима прямого доступу, тобто алгоритми, як1 не вимагають попередньо' обробки тексту для побудови 1ндексу (до-пом1жно1 структури, яка будуеться заздалег1дь 1 спро-щуе та пришвидшуе пошук). Цей виб1р пояснюеться тим, що використання шдекс1в мае ряд недолШв, а вс1

алгоритми з шдексащею базуються на алгоритмах прямого доступу.

Як1сть нечеткого пошуку залежить в1д того, наскшь-ки повно його алгоритм ураховуе причини, з яких шу-кане слово може в1др1знятися в1д свого аналогу в текс-т1. Коротко розглянемо ц1 причини.

1. Помилки у написанш сл1в, як1 з'явилися при вне-сенш тексту в базу даних:

- орфограф1чш помилки - 1,5-2,5 % тексту;

- помилки, зроблеш при друкуванш - 1-3,2 % тексту;

- помилки, зроблеш при оптичному розшзнаванш тексту - 7-16 % тексту;

- помилки, пов'язаш з диктовкою тексту - досить специф1чш, але зустр1чаються у ряд1 застосувань, наприклад, у базах шшомовних прозвищ.

80 % друкарських помилок описуються моделлю Да-мерау 1 виправляються лише одною вставкою, видален-ням, заменою чи перестановкою. Орфограф1чн1 помил-ки та помилки розп1знавання звичайно також п1дхо-дять тд цю модель з большими витратами [2].

2. Шукане слово присутне у текста у шшому в1дмш-ку, числ1, час1 або род1, н1ж заданий вариант. 1нод1 з техн1чно' точки зору це можна розглядати як помил-ку («шукана» - «шукане»), шш1 випадки потребують шшого тдходу («малий» - «малесенький»).

Можливо два тдходи до розв'язання ц1е1 задача: для кожного слова тексту визначати його основу 1 пор1вню-вати з основою шуканого слова або за певними правилами будувати словоформи шуканого слова 1 шукати вже 'х.

3. У текст присутне слово, сп1льнокореневе з шука-ним, яке несе таке саме смислове навантаження («за-лежний» - «ствузалежнешсть»). Стеммери - це семейство методов, призначених специально для пошуку стльнокореневих сл1в. 1х сутшсть полягае у тому, щоб за певним списком правил видалити з1 слова преф1кси, суф1кси та зак1нчення, отримати його кор1нь 1 пор1вня-ти його з коренем шшого слова.

4. У текст присутн1й синон1м шуканого слова, який не мае з ним шчого стльного, кр1м смислу. Ця задача розв'язуеться використанням систем типу Word.Net. Word.Net - це лексична база даних, слова в якш оргашзоваш у синсети - набори синошм1в, як1 визна-чають смисл поняття. Синсети, у свою чергу, оргашзоваш у деревопод1бш структури, як1 описують шш1 се-мантичш в1дношення м1ж поняттями - антошм1ю, ме-рон1м1ю (в1дношення «частина-ц1ле»), гшошмш (в1дно-шення приналежност1). Таким чином, при пошуку мож-на знайти не т1льки синон1ми заданого слова, а й шш1 слова, як1 несуть на соб1 схоже смислове навантаження.

Методи, розглянут1 у дан1й робот1, враховують лише перш1 три з вказаних причин.

У ход1 роботи не було знайдено безкоштовних програмних продуктов, як1 б використовували алгоритми нечеткого пошуку в текстах украшською мовою.

M. В. Михайлова: ПOPIBHЯHHЯ AЛГOPИTMIB HE4ITKOTO ПOШУKУ B TEKCTAX УKPAÏHCЬKOЮ MOBOЮ

Пoшyк аналoгiчниx пpoдyктiв для pocma^' мoви, яка e гpаматичнo найближчoю дo yкpаïнcькoï, такoж нe дав peзyльтатiв. Toмy вci дocлiджyванi мeтoди бyлo peалi-зoванo влаcнopyч.

Poбoта opieнтoвана на макcимальнe мoжливe алга-pитмiчнe пpишвидшeння мeтoдiв, тoбтo змeншeння ча-cy poбoти алгopитмiв за pаxyнoк змeншeння кiлькocтi oпepацiй. ^и цьoмy нe викopиcтoвyютьcя заcoби пpи-швидшeння, якi пepeдбачають запам'ятoвyвання вжe oбpoблeниx cлiв, ocкiльки цe вимагае oбcягy пам'ятi пopядкy poзмipy виxiдниx тeкcтiв. He пpoвoдилаcя o^ тимiзацiя пам'ятi, якoï вимагають мeтoди, ocкiльки бiльшicть мeтoдiв викopиcтoвye нeзначний oбcяг пам'я-тi (пopядкy дoбyткy дoвжини тeкcтy на дoвжинy шука-rora cлoва).

2 ДОСЛ!ДЖУВАНt МЕТОДИ

2.1 Метрика Левенштейна

Moдeль пoмилoк Дамepаy пpипycкаe icнyвання 4 ти-пiв пoмилoк, якi мoжyть cпoтвopити cлoвo: вcтавка зай-вoгo cимвoлy, видалeння пoтpiбнoгo cимвoлy, замiна oднoгo cимвoлy на iнший i пepecтанoвка cyciднix отм-вoлiв. Koжeн з титв пoмилoк мае cвoю ваpтicть (яка мoжe залeжати вiд лiтep та вiд пoзицiï пoмилки), oтжe, 6удь-який cпociб пepeтвopeння oднoгo cлoва на iншe мае cвoю ваpтicть. Oпepацiï замiни i пepecтанoвки мo-жуть бути змoдeльoванi як паpа oпepацiй вставка-вида-лeння за бшьшу цiнy, алe y випадку дpyкoваниx тeкc-тiв цe нeдoцiльнo, o^^rn вoни е типoвими гомилка-ми пpи дpyкy.

Hа цiй мoдeлi пoмилoк базyeтьcя ciмeйcтвo мeтoдiв тд назвoю yзагальнeнi вiдcтанi peдагyвання. Biдcтанню мiж двoма pядками d(x, y) називаeтьcя мiнiмальна ваpтicть пocлiдoвнocтi oпepацiй, яка пepeтвopюe pядoк x на pядoк y (якщo така iraye). Heважкo пepeкoнатиcя, щo якщo пpямим i oбepнeним oпepацiям пpизначeнi oд-накoвi ваpтocтi, вiдcтань e мeтpикoю y пpocтopi cлiв. Залeжнo вщ oбpаниx типiв пoмилoк та ïx ваpтocтeй мйжна oтpимати pяд мeтoдiв з icтoтнo piзними власти-вocтями, напpиклад, вiдcтань Xeмiнга, «вщстань годт» та yзагальнeна вiдcтань Лeвeнштeйна [2].

Для peалiзацiï oбpанo вiдcтань Лeвeнштeйна з yciма чoтиpма oпepацiями ваpтocтi як oдин iз найтипoвiшиx пpeдcтавникiв мeтoдiв, пpизначeниx для пoшyкy з пoмилками. Aлгopитм динамiчнoгo пpoгpамyвання cкладнocтi O(|A| • |B|) [3]:

D (a, b ) = min

D ( a, b - l) + l, D ( a - l, b) + l,

D(a - l, b - l) + iндикатop(A[a] ф B[b]), (D(a - 2, b - 2) + l) • iндикатop(A [a - l] = = B [b ], A [a ] = B [b - l]).

1. D(0, a) = D(a, 0) = a.

2. Для вcix l < a < A, l < b < |B|

3. Пoвepнyти D(|A|, \B\).

Tyт A i B - пopiвнюванi cлoва, Al a - пpeфiкc cno-ва A дoвжини a, \A\ - дoвжина cлoва A, D(a, b) - вщ-стань Лeвeнштeйна мiж Al a i Bl ь.

Bci iдeï, як1 пoкpащyють чаc poбoти алгopитмy y най-гipшoмy випадку, пoлягають y тому, шрб oбчиcлювати матpицю динамiчнoгo пpoгpамyвання нe пo pядкаx, а го дiагoналяx [2, 4, 5]. Moжливo cпланyвати пopядoк o6-чиcлeння eлeмeнтiв матpицi так, щoб виpаxoвyвати ли-me «^prom» клiтинки, тобто нe дyжe вiддалeнi вiд «най^ащ^го шляxy» (набopy клiтинoк, якi oпиcyють пocлiдoвнicть дiй, яка пepeтвopить ropme cлoвo y дpy-гe за мШмальну кiлькicть oпepацiй). Mipкyвання, вик-ладeнi в [5], yзагальнeнi на випадoк |A| > |B|. Ix наcлi-дoк - змжний пopядoк oбчиcлeння eлeмeнтiв матpицi.

Poзpаxyнoк матpицi пoчинаeтьcя з ïï oci i вeдeтьcя вздoвж дiагoналeй. ^ли з'являeтьcя eлeмeнт oci зi зна-чeнням N + 3, cлiд пoвepнyтиcя i poзpаxyвати дiа-гoналi нoмep l ввepx i вниз вщ oci, а пoтiм пepepаxyва-ти ^й eлeмeнт. Koли з'явитьcя eлeмeнт oci зi значeн-ням N + 2n + l, ^д пoвepнyтиcя назад, poзpаxyвати дiагoналi нoмep n ввepx i вниз вщ oci i пepepаxyвати цeй eлeмeнт.

Пpи цьoмy пpи poзpаxyнкy кл^и^к кpайньoï дiагo-налi (нoмep n вщ oci) cлiд викopиcтoвyвати значeння лишe двox клiтинoк матpицi - пoпepeдньoï клiтинки дiагoналi n i cyciдньoï клiтинки дiагoналi нoмep n - l. Cyciдню клiтинкy дiагoналi нoмep n + l мсжна нe ви-кopиcтoвyвати з rnx cамиx мipкyвань.

Шукана вiдcтань D(|A|, Bl ) = D e макммальним

• • t • Г D - N

eлeмeнтoм на oci матpицi. J^i m = —-— - ^ нo-

мep ocтанньoï дiагoналi вiд oci, яка була poзpаxoвана. Загальна кiлькicть poзpаxoваниx дiагoналeй N + 2 m + + l s D + l; на гожнт дiагoналi те бiльшe \A\ клiтинoк; oтжe, cкладнicть алгopитмy O(|A| • (D(|A|, Bl) + l)).

Запpoпoнoванo два заcoби змeншeння чаcy poбoти для задачi гошуку cлiв, якi вiдpiзняютьcя вiд шyканo-гo нe бiльшe нiж на k oпepацiй (тут i далi k - паpамeтp пoшyкy):

1) cлoва, для якиx ||A| - |B|| > k, мoжна нe poзгляда-ти взагалi, ocкiльки для пepeтвopeння пoтpiбнo щo-наймeншe ||A| - Bll oпepацiй (заciб «|A| - Bll < k»);

2) якщo y xoдi oбчиcлeнь знайдeнo eлeмeнт oci, значeння ятат пepeвищye k, тo шукана вщстань бyдe бiльшe k, i oбчиcлeння мсжна пpипиняти (заciб «нe-дopаxyвання»).

2.2 Пошук максимального стльного тдрядка (МСП)

Метод пошуку МСП приймае м1рою под1бност1 двох сл1в довжину !х найдовшого сильного тдрядка. П1д-рядок рядка отримуемо методом виключення з самого рядка нуля чи больше символов, не обов'язково сус1д-н1х. Стльний тдрядок двох рядк1в - це рядок, який е тдрядком кожного з них. Найдовший з таких рядк1в називаеться максимальним стльним тдрядком [6]. МСП використовуеться, коли 1стотн1м е порядок лггер, а не вщсташ м1ж ними. Метод МСП е другим з обра-них типових методов пошуку сл1в з помилками.

Метод МСП е частковим випадком узагальнено! в1дстат редагування з операциями вставки 1 видалення одинично! вартост1 [2]. Якщо й - це довжина МСП, а П - в1дстань редагування, то неважко переконатися,

що й = А±Ш-П.

Для реал1заци обрано алгоритм Вагнера 1 Ф1ше-ра - алгоритм динамичного програмування складности

О(IА ■ В) [7, 8]:

1. Ь(0, Ь) = Ь(а, 0) = 0.

2. Для вс1х 1 < а < А, 1 < Ь < |В|

1. L'(0, b) = L'(а, 0) = 0.

2. Для вих 1 < а < |A|, 1 < b < |B|

L(а, b) =

max(L(а - 1, b), L(a, b - 1)), якщо A([a] Ф B[b]), 1 + L(a - 1, b - 1), шакше.

3. Повернути Ь(|А|, |В|).

Запропоновано два засоби зменшення часу роботи для задача пошуку сл1в, як1 мають 1з шуканим МСП довжини не менше за к:

1) слова, для яких |А| < к, можна не розглядати вза-гал1 (зас1б «|> к»);

2) якщо на якомусь кроц1 обчислень отримано МСП довжини к, це слово вже можна вважати схожим на шукане, оск1льки довжина МСП не спадае (зас1б «не-дорахування»).

2.3 Пошук МСП з лгтерами,

як розташованг постль

Класичний метод МСП е недосконалим для викорис-тання для пошуку стльнокореневих сл1в. Так, слова «ш'дпосл1довшсть» 1 «пгролюзгт» мають довжину МСП 6, але не е стльнокореневими. Для задача пошуку сп1льнокореневих сл1в 1стотно, що сп1льн1 л1тери таких сл1в розташован1 поруч, утворюючи основу.

Пропонуеться модификация методу МСП - метод МСП, який складаеться з л1тер, що розташован1 пос-тль, наприклад, «п1дпосл/Эовн1сть» 1 «непослгдов-ний» (9). На жаль, цей метод буде реагувати 1 на слова, як1 мають довгу сп1льну к1нц1вку 1 коротк1 р1зн1 ос-нови, як «малесенький» 1 «гарнесенький» (8). Алгоритм:

L(a, b) =

0, якщо A [а] ^ B [ b], 1 + L'(а - 1, b - 1), шакше.

3. Повернути max L'(а, b).

1 < а < AI, 1 < b < |B|

Засоби пришвидшення роботи - аналог1чно класич-ному методу МСП.

2.4 Метод n-грам

Метод и-грам узято як представник метод1в, яю не використовують модель зам1ни шдрядюв. 1нш1 методи цього класу (вщстань Хем1нга, яка визначаеться як кшь-к1сть позиц1й, в яких символи сл1в не сп1впадають; в1д-стань шверсш, яка припускае 1нверсГ1' тдрядюв; блоч-на в1дстань, яка дозволяе перестановки п1дрядк1в; в1д-стань замш та шшО ще менше вщповщають мет1 дано' роботи, оск1льки не моделюють типов1 причини спотво-рення сл1в.

Метод и-грам використовуе в якост1 м1ри под1бност1 двох сл1в к1льк1сть и-ок л1тер (и-грам), яю зустр1ча-ються в обох словах. Так, слова «агорафоб1я» i «гра-фофоб1я» мають 5 спiльних триграм («раф», «афо», «фоб», «обi», «бш»).

Одиницями порiвняння можуть бути послiдовностi лiтер будь-яко' довжини, вiд 1 (порiвняння наборiв лi-тер, з яких складаються слова) до довжини коротшого слова (точне порiвняння ошв). Чим бiльша довжина играм, тим жорсткiшi умови вiдбору подiбних слiв, i тим менша «нечиюсть» метода.

Цьому методу притаманний один штотний недолiк: одна помилка в середиш слова спотворюе и и-грам, що згубно впливае на результат порiвняння.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Метод и-грам е единим з розглянутих методiв, який може визнати як подiбнi пару ^в, одне з яких складаеться з двох основ, а шше - з них же, але в шшому порядку. Прикладом таких пар е «графолог» i «логограф», «логотип» i «типолопя». У [9] ця властивiсть методу и-грам вважаеться важливою перевагою. Але цей метод розроблявся i тестувався на текстах шмець-кою мовою. Н специфiка полягае в тому, що слова часто складаються з багатьох простих основ, як в укра'н-ськш - речення зi ^в. У нiмецькiй слова, яю мiстять однi й ri самi основи в рiзному порядку, напевно мають близьке значення. В украшськш таких пар ^в небагато, i слова пари мають рiзнi значення, тому ця вщмшшсть не мае вирiшального значення.

В щлому цей метод можна використовувати для пошуку стльнокореневих ^в та словоформ заданого слова. Нижче буде показано, що на практищ цей метод е^валентний методу МСП з лиерами, яю розташова-ш поспiль, але працюе повiльнiше.

M. В. Михайлова: ПОР1ВНЯННЯ АЛГОРИТМ1В НЕЧ1ТКОГО ПОШУКУ В ТЕКСТАХ УКРАШСЬКОЮ МОВОЮ

Було реал1зовано метод, який пор1внюе окрем1 слова (а не слово з текстом, як у [9]) за кшьюстю стль-них триграм, причому кожна триграма мае вагу 1 (у загальному випадку вага триграми може залежати вщ ïï позицп у словах, вщ довжини сл1в та вщ само!' триграми).

1. Для сл1в, яю пор1внюються, складаеться список триграм, яю до них входять.

2. Отримаш списки триграм пор1внюються, i ви-значаються спiльнi триграми.

3. Вага стльних триграм сумуеться i порiвнюeться iз заданим пороговим значенням. Якщо сумарна вага бiльша за порогове значення, то слова вважаються схожими.

Засоби пришвидшення роботи для задачi пошуку слiв, якi мають щонайменше к спiльних триграм: слова, для яких |A| < к + 2, можна не розглядати взагал^ оскшьки вони не мкстять к триграм (засiб «|A| > к + 2»).

2.5 SoundEx

SoundEx е представником фонетичних методiв, не дуже ефективних для розв'язання поставлено!' задачу але щкавих для дослiдження. SoundEx - це загальна назва имейства алгоритмiв, як перетворюють запис слова на певний код, який описуе вимову слова. При пошуку порiвнюються саме щ фонетичнi коди. Запис слова може бути спотворений рядом факторiв:

- слово пишеться не так, як вимовляеться;

- людина, яка диктуе слово, мае дефекти мовлення, регюнальш або особистiснi особливостi вимови чи шо-земний акцент;

- людина, яка записуе слово, недочула або неграмотно записала почуте.

Алгоритм застосовний лише в системах, яю допус-кають висою рiвнi помилок першого i другого роду. Областю застосування цих алгоритмiв е пошук влас-них назв (прiзвищ або географiчних назв) в базах да-них значного обсягу. Перший алгоритм SoundEx ви-користовувався Бюро перепису населення США для шдексацп прiзвищ у базах даних. До имейства SoundEx належать також коди LEAA (Law Enforcement Alliance of America), яю використовуються в базах даних з запобтння злочинам, i коди Cutter Tables, яки-ми користуються бiблiотеки для кодування iмен авто-рiв книг [10].

Запропоновано оригшальний алгоритм перетворен-ня запису слова на його фонетичну характеристику для укра'нсько!' мови, побудований за тими ж принципами, що i англомовний прототип. Алгоритм базуеться на фонетичнш класифжаци звукiв укра'нсько!' мови з урахуванням специфжи вимови йотованих букв. Букви 'ю', 'я', ''', 'е' е йотованими, 'у', 'е', 'i', 'и', 'а', 'о' - голосними, а решта букв - приголосними.

1. Замшяемо букви слова, ^м першо'', на спецiальнi символи за правилом, яке схематично наведене у табл. 1.

Таблиця 1 - Правило замши символ1в для методу SoundEx

'б', 'п', 'в', 'ф' 'o'

'г', 'г', 'х', 'к' '1'

'ч', 'ц', 'щ' '2'

'ж', 'ш' '3'

'д', 'т' '4'

'с', 'з' '5'

'м', 'н' '6'

'р' '7'

'л' '8'

'й' '9'

голосна _

'ь' або ''' + йотована буква '9_'

'ь' без йотовано' букви ' '

йотована буква тсля голосно' '9_'

йотована буква п1сля приголосно' _

2. З отриманого рядку видаляемо вс пари суидшх однакових символiв.

3. З отриманого рядку видаляемо вс символи '_'.

4. Для порiвняння двох сшв порiвнюються ''х фоне-тичнi характеристики; якщо вони ствпадають, то слова вважаються схожими.

У якост засобу пришвидшення роботи можна ви-користати те, що слова з рiзними першими символами можна не порiвнювати (зааб «A[ 1 ] = B[ 1 ]»).

2.6 Використання регулярных виразгв

Метод використання регулярних виразiв е алгоритмом щентифжацп. У типовiй задачi щентифжацп по-слiдовностей задаються текст i множина послiдовнос-тей-образiв (задана регулярним виразом); необхщно знайти входження образiв у текст. Такi задачi часто виникають при робоп з текстами, тому методи ''х розв'язання добре вивчеш.

1снуе ряд теорем, яю використовуються при аналiзi регулярних виразiв та реалiзацiï розпiзнавачiв образiв. Одна з них стверджуе, що для кожного регулярного виразу можна побудувати недетермшований скшчен-ний автомат (НСА). НСА M - це п'япрка (S, I, 5, so, F), де:

1) S - скшченна множина сташв пристрою керуван-ня (ПК);

2) I - скшченний алфави вхiдних символiв;

3) 5:S х I ^ 2S - функщя переходiв;

4) So е S - початковий стан ПК;

5) F ç S - множина кшцевих станiв ПК.

Стан НСА задаеться парою (s, w), де s е S - поточ-ний стан ПК, а w е I* - невикористана частина вх^-ного слова. Початковий стан НСА - (So, Wo), де wo -слово, яке порiвнюeться з регулярним виразом.

Введемо бшарне вщношення ^ на множит сташв НСА. Якщо s' е 8(s, a), то Vw е I * (s, aw) ^ (s', w). Транзитивне замикання цього в1дношення визначае регулярну мову, яку розтзнае цей автомат: якщо 3s е F : (s0, w) ^ * (s, ""), то w розтзнаеться автоматом.

За 1 крок автомат обробляе перший символ поточного слова i видаляе його; для кожного стану ПК робляться вс можливi переходи пiд впливом цього символу. Якщо множина сташв, у якш може опинити-ся ПК автомату тсля завершення обробки слова, мштить хоча б один кiнцевий стан, то вхщне слово розтзнаеться автоматом. Якщо в ходi обробки слова автомат потрапляе у ситуащю, коли з жодного стану ПК неможливо здшснити перехiд, робота автомата припи-няеться, i слово вважаеться нерозпiзнаним. [11]

Метод регулярних виразiв обрано як найпростiший метод, який дозволяе використати знання користувача про вщмшювання шуканого слова та його стльнокоре-невi слова, але, на вщмшу вiд стеммерiв, не вимагае представлення в реалiзацi'i алгоритму загальних лшгвь стичних знань з укра'нсько'' мови. Метод регулярних виразiв доцiльно використовувати у випадках, коли користувач знае, як може видозмшюватися потрiбне йому слово, i може описати це за допомогою регулярного виразу.

У нашому випадку для опису множини шуканих слiв використовуються регулярш вирази спецiального вигляду: в ''х запис можуть входити ви символи ал-фавiту I та спещальш символи '*' та '?', якi означають будь-яку послiдовнiсть лiтер алфавiту I (можливо, ну-льово'' довжини) та будь-яку одну лиеру алфавiту I вiдповiдно. Наведемо процедуру побудови НСА за таким регулярним виразом.

1. Побудова починаеться з порожнього автомату M0 = ({s0}, I, 0, s0, 0), який описуеться порожнiм ре-гулярним виразом «».

2. За кожний крок до регулярного виразу, яким описуеться поточний автомат Mt = ({so, ..., sm}, I, bp so, 0), дописуеться один символ заданого виразу a, i в залеж-ност вiд того, який це символ, автомат змшюеться за такими правилами (рис. 1):

1) a е I: до сташв ПК додаеться новий стан S't = = {so,., sm + 1}, функщя переходiв розширюеться на

перехiд (sm, a { sm + 1}.

2) a = '?': до станiв ПК додаеться новий стан S't = = {so,., sm + 1}, функщя переходiв розширюеться на переходи Vb е I(sm, b) ^ {sm + 1}.

3) a = '*': функщя переходiв розширюеться на переходи Vb е I(sm, b) ^ {sm}.

3. Останнш стан ПК приймаеться за кшцевий:

Mfin = ({s0, sn }, I,8, s0, { sn }.

Для реалiзацii' було створено алгоритм динамiчного програмування складност O(|A| • |B|), який моделюе роботу НСА, але не будуе його:

1. P(0, b) = false для 1 < b < |В|.

s

m+11

1)

2)

Рисунок 1

3)

Граф1чне представлення правил формування НСА

P(0, 0) = true, P( 1, 0) = iндикатор (A[ 1] = *), P(a, 0)= = false для 1 < a < |A|.

2. P (a, b) = (P (a, b - 1 )v P(a - 1, b)) & (A[ a] = * )v v P(a - 1, b - 1 )&(A[ 1 ] in {*, ?, B\b\}).

3. Повернути P(|A|, |B|).

Засiб пришвидшення часу роботи: слова, довжина яких менша за довжину регулярного виразу без сим-волiв '*', можна не розглядати (зааб «A| > Zmin»).

3 РЕЗУЛЬТАТЕ ДОСЛ1ДЖЕННЯ

3.1 Kpumepit поргвняння метоЫв

Методи порiвнювалися за двома критерiями: час роботи i якiсть результатiв.

Час роботи включае в себе час, витрачений на пошук документiв, що задовольняють умовам пошуку, та на розбиття кожного документу на слова, але цей «техшч-ний» час, стльний для всiх методiв, оцiнено окремо, i вiн не впливае на порiвняння. На замiри часу можуть впливати випадковi фактори (наприклад, переключення мiж процесами, характерне для Windows). За рахунок цього та з-за квантування часу похибка вимiрювань ста-новить близько 1 сек. Тому про перевагу одного метода над шшим можна говорити лише коли рiзниця чаав ''х роботи перевищуе кiлька секунд.

Якiсть результатiв пошуку характеризуемся рiвня-ми помилок першого i другого роду. Результатом пошуку RES назвемо множину ^в, яю алгоритм визна-чив як подiбнi до шуканого. Бажаними словами WANT назвемо множину ^в, яю користувач визначив би як подiбнi до шуканого i хотiв би бачити в результат пошуку. Помилка I роду мае мшце, коли в результат пошуку вщсутне бажане слово, II роду - коли в результат пошуку присутне небажане слово.

Помилки I i II роду мають рiзну вагу. Прийняття рь шення про те, чи вщноситься документ до теми пошуку, залишаеться користувачу. Для виправлення помил-ки II роду йому достатньо продивитися результат по-шуку i виключити зайвi слова. бдиний спосiб знайти

a

b

1

М. В. Михайлова: ПОР1ВНЯННЯ АЛГОРИТМ1В НЕЧ1ТКОГО ПОШУКУ В ТЕКСТАХ УКРА1НСБКОЮ МОВОЮ

помилку I роду - це прочитати Bci документи, що е не-можливим у практично важливих випадках.

Множина бажаних cлiв залежить не лише вiд шука-ного слова, а i вiд мети користувача. Так, якщо корис-тувач задав слово «десять», невщомо, чи щкавить його чисельник «шicтдеcят». В загальному випадку користувача щкавлять словоформи слова, саме слово з по-милками, i, можливо, cпiльнокореневi слова. В кожному окремому випадку яюсть результатiв е окремим пи-танням. Для роботи визначимо бажаш слова як стль-нокореневi (включаючи словоформи). Випадки, у яких шукане слово написано з помилкою, враховуються ок-ремо, оcкiльки експериментальш данi мicтять мало таких випадюв.

Визначимо рiвень помилки I роду як вщношення кiлькоcтi бажаних ств, якi вiдcутнi у результат, до

... . . . |WANT\RES| загально1 кiлькоcтi бажаних cлiв: = --1 WANT |-' =

, WANT n RES| . тт .

= 1 - ------!, рiвень помилки II роду - як вщ-

WANT|

ношення кiлькоcтi небажаних cлiв, якi присутш у результатi, до загально1 юлькоси cлiв у результатi: | RES\WANT | , | RES n WANT | .

e2 = 1 |\es| ' = 1 -1—[res]—l Рiвнi поми-

лок аналiзуютьcя окремо, без утворення штегрального показника, оcкiльки питання про визначення вагових коефщенпв потребуе окремого дослщження.

3.2 Дат, на яких проводилися

експерименти

Для експерименпв було використано три типи даних.

Час роботи методiв порiвнювавcя на документах з предметно! област «Пcихологiя», поданих у текстовому формат або тдготованих редактором Word, об-сягом 63 МБ. Шукалися слова, характернi для предметно! область Для проведення експерименпв вико-ристовувався ПК з частотою процесора 1.8 ГГц.

Штучш документи створювалися для ошв, обраних для ^юстрацп певно! переваги чи недолжу одного з методiв. Для кожного слова виписувалися стльноко-реневi слова та словоформи, а також слова, яю не е спорщненими, але cхожi на це слово i можуть бути об-раш одним з методiв. Результати експерименпв було використано для якicного аналiзу переваг i недолiкiв методiв, але щ результати не е статистично доcтовiрни-ми i не можуть бути використаш для обчислення поми-лок I i II роду.

У якосп зразкiв природних докуменпв використо-вувалися cтаттi з предметних областей «Захист iнфор-мацП» та «Психолопя», щоб перевiрити роботу мето-дiв на релевантних i нерелевантних документах. Слова, на яких проводилися експерименти (i для яких бу-ло створено штучш документи), було обрано як харак-терш для предметно! обласп «Захист шформацп».

Параметри методiв, при яких проводився пошук, обиралися залежно в^ довжини шуканого слова та довжини його кореня.

3.3 Порiвняння методгв

Час роботи. Для кожного методу наведено графжи його часових характеристик, проведено порiвняння ефективносп заcобiв прискорення роботи та аналiз за-лежноси часу роботи вiд параметрiв пошуку.

Для вciх доcлiджуваних методiв, яю можуть мати рiзний cтупiнь нечггкосп (залежний вiд параметра пошуку k, як описано вище), при використанш заcобiв прискорення, якi його враховують, час роботи зростае зi зростанням ступеня нечiткоcтi; для решти час роботи поcтiйний.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для метрики Левенштейна (рис. 2) найефективнi-шим засобом прискорення виявилася комбiнацiя уих запропонованих, але кожен з них окремо дае icтотний ефект.

Час роботи методу без пришвидшення та без «^атонального порядку обчислення» не залежить в^ пара-

70

60 -50 -40 30 20 -10 0

сек [

„ □ --

Л- * , . □ *

k

1 2 3 4 5

—•— без пришвидшення - -'||A|-|B||<=k' —л— порядок обч.

- порядок обч.+ 'недорахування' -'||A|-|B||<=k' + порядок обч.

■'||A|-|B||<=k' + порядок обч. + 'недорахування'

Рисунок 2 - 4acoei характеристики методу Левенштейна

метру пошуку. У цих методах для кожного слова тексту 1 шуканого слова спочатку вираховуеться в!дстань м!ж ними, а пот!м ця в!дстань пор!внюеться з параметром пошуку.

Зас!б ||А| - |В|| > к покращуе час роботи методу в!д 15 % до 50 %, час роботи зростае з1 зб1льшенням к. Метод пор1внюе шукане слово та слова тексту, довжи-ни яких задовольняе умов1 |В| - к < |А| < |В| + к; з1 зб!ль-шенням к зростае к!льк!сть таких сл1в.

Д1агональний порядок обчислення зменшуе час роботи на 30 %, тобто в середньому третина кл1тинок матриц! динам1чного програмування виявляеться «зай-вою». «Недорахування» зменшуе час роботи ще на 15 % (в1д вих1дного часу) за рахунок того, що для сл1в, як1 не схож1 на шукане, обчислення ос1 матриц! не доводиться до к!нця. Час роботи методу «з недорахуванням» незначно зб!льшуеться при зб!льшенн! параметра к: зб!льшуеться к!льк!сть кл!тинок, як! сл!д обчислити, щоб переконатися у несхожост! сл!в.

Для класичного методу МСП (рис. 3) найефектив-н!шим засобом пришвидшення е |А| > к. Застосований окремо, в!н зменшуе час роботи на 50-60 %, причому час роботи зменшуеться !з ростом к, оск!льки к!льк!сть сл!в, для яких |А| > к, зменшуеться.

Зас!б «недорахування» виявився неефективним. Застосований окремо, в!н зменшуе час роботи методу всьо-го на 8 %, а у комбшаци з |А| > к не пришвидшуе роботу взагал!, оск!льки в!н пришвидшуе роботу для сл!в, схожих на шукане, яких значно менше, н!ж несхожих. Для к = 5 застосування цього засобу нав!ть попршило час роботи методу через те, що на кожному кроц! методу виконуеться додаткова перев!рка «чи це слово вже не схоже на шукане».

Через доведену неефективн!сть «недорахування» цей зас!б не використовувався для МСП з л!терами, розта-шованими посп!ль. МСП з л!терами, розташованими посп!ль, працюе майже вдв!ч! швидше, н!ж класичний МСП, оск!льки його реал!зац!я прост!ша (рис. 3). Оп-тим!зац!я |А| > к для нього так само ефективна ! зменшуе час роботи на 40-60 %.

При пор!внянн! МСП з л!терами, розташованими посп!ль, ! метода триграм (рис. 4) бачимо, що без до-даткового прискорення метод триграм працюе швидше, оск!льки метод триграм використовуе розбиття шука-ного слова на триграми, виконане один раз, ! його складн!сть ближча до О (|А|). При використанн! екв!ва-лентних засоб!в прискорення |А| > к для МСП та А > > к + 2 для триграм МСП працюе швидше.

75

65 -

55

45 -

- клас. без пришвидшення -клас.

- клас. 'недорахування'

- клас. + 'недорахування'

- МСП з лггерами поспть без пришвидшення

- МСП з лггерами поспть

Рисунок 3 - Часов1 характеристики МСП

45

40

35

30 -

25 -

20

15

- МСП без пришв. -МСП + '^^У

- 3-грами без пришв.

- 3-грами + '|А|>=к+2'

35 -

25

к

15

Рисунок 4 - Часов1 характеристики методу МСП з лтерами, як1 розташоват постлъ, та методу триграм

М. В. Михайлова: ПОР1ВНЯННЯ АЛГОРИТМ1В НЕЧ1ТКОГО ПОШУКУ В ТЕКСТАХ УКРА1НСЬКОЮ МОВОЮ

Для методу регулярних вираз1в единий запропоно-ваний зас1б прискорення |A| > lmin зменшуе час роботи на 30 %. Для методу SoundEx зас1б A[ 1 ] = B[ 1 ] при-швидшуе роботу на 90 %, оск1льки його використання

одразу в1дкидае близько ^ уих сл1в тексту.

Найпов1льн1шим з метод1в е метод регулярних вира-з1в (нав1ть 1з пришвидшенням |A| > lmin), хоча шуканий регулярний вираз коротший за шукане слово. Найшвид-шим з досл1джуваних метод1в е SoundEx 1з пришвидшенням A[ 1 ] = B[ 1 ], який через це найзручн1ший для побудови 1ндекс1в. 3 метод1в власне для пошуку, най-швидшим е метрика Левенштейна 1з максимальним пришвидшенням.

Результаты пошуку у штучних документах. Про-анал1зуемо переваги 1 недол1ки метод1в, як1 проявля-ються на словах, сп1льнокореневих до шуканого.

Метрика Левенштейна знаходить досить багато словоформ шуканого слова, але лише дуже незначну час-тину сп1льнокореневих сл1в. Це пояснюеться тим, що сп1льнокореневе слово зазвичай досить сильно в1др1з-няеться в1д шуканого, 1 метрика ц1е! в1дм1нност1 пере-вищуе р1вень неч1ткост1 пошуку, в той же час словоформа в1др1зняеться в1д слова лише зак1нченням. 3а-к1нчення може бути довгим 1 не п1дпадати п1д це правило, але взагал1 тенденц1я збер1гаеться.

Якщо порогове значення методу МСП не менша за довжину незм1нювано! основи слова, то обидва методи МСП знаходять вс1 сп1льнокоренев1 слова. При пошу-ку слова з чергуванням в корен1 класичний МСП зна-ходить б1льше сл1в, н1ж МСП з л1терами, як1 розташо-ван1 посп1ль. Класичний МСП з параметром порядку довжини шуканого слова дозволяе знаходити слова з помилками.

Метод триграм дае так1 сам1 результати, як 1 метод МСП з л1терами, як1 розташован1 посп1ль, оск1льки зазвичай сп1льна частина сп1льнокореневих сл1в скла-даеться 1з л1тер, як1 1дуть посп1ль, 1 на них реагують обидва методи.

Метод SoundEx може знайти щонайб1льше дек1лька словоформ шуканого слова за певних обмежень на нього. Цей досить специф1чний метод справд1 п1дхо-

дить лише для шдексацп баз даних, як! заповнювалися «на слух».

Метод регулярних вираз!в при правильному п!дбор! шуканого регулярного виразу дозволяе знайти вс! сп!льнокоренев! слова. При пошуку сл!в без чергуван-ня в основ! цей метод екв!валентний методу МСП з л!терами, як! розташован! посп!ль, з певним число-вим параметром, але в загальному випадку його мож-ливост! значно ширш!. До того ж користувач мае мож-лив!сть обмежити множину бажаних сл!в. На жаль, цей метод не пристосований для пошуку сл!в з помилками: якщо помилка виникла у частин! слова, яка жорстко задаеться регулярним виразом, то слово не буде знайдено.

Результаты пошуку у природних документах. У таблиц! 2 наведено приклад р!вн!в помилок I ! II роду для результат!в пошуку слова «керувати» у природних документах з област! «Захист шформаци».

Наведемо тут висновки, для яких недостатньо анал!-зу результат!в пошуку у штучних документах.

Як ! оч!кувалось, для вс!х метод!в при зб!льшенн! р1вня неч1ткост1 зростае обсяг результату пошуку; помилка другого роду зростае швидше, шж зменшуеться помилка першого роду, що робить невиправданим зб1льшення р1вня неч1ткост1 за певною межею.

Метрика Левенштейна не дае очжуваних результа-т1в при пошуку стльнокореневих сл1в. Р1вень помилки першого роду становить 60-95 %, що робить цей метод практично незастосовним.

Класичний метод пошуку МСП для пор1вняно дов-гих сл1в дае дуже велику помилку другого роду. Кр1м того, для сл1в, як1 мають довге закшчення при корот-кш основ!, в1н вважае схожими на них ви слова, як1 мають таке саме зак!нчення ! перш! л!тери основи. Прикладом такого випадку е пошук слова «керувати», закшчення якого е типовим для д!есл!в. Отже, цей метод не пристосований до задач! пошуку стльнокореневих сл!в. Кращ! результати в!н дае при пошуку сл!в з помилками, але на в!дм!ну в!д метрики Левенштейна не враховуе типову друкарську помилку перестановки сус!дн!х символ!в.

Таблиця 2 - Приклад результат1в обробки експериментальних даних

1^1 = 6 Левеншт 2 Левеншт 3 Левеншт 4 МСП клас 6 МСП клас 7 МСП посп 5 МСП посп 6 3грами 3 3грами 4 SoundEx Рег. вирази

0 3 21 26 4 23 6 23 6 0 5

\W n R\ 0 1 3 1 0 1 1 1 1 0 5

6i 1 0.83 0.5 0.83 1 0.83 0.83 0.83 0.83 1 0.17

s2 0 0.67 0.86 0.96 1 0.96 0.83 0.96 0.83 0 0

При однаковому ступет нечикосп класичний метод МСП дае результат, обсяг якого на порядок бтьший за обсяг результату методу МСП з лгтерами, що розта-шоват поcпiль. Метод пошуку МСП з лiтерами, якi розташоват поcпiль, краще вiдповiдаe задачi пошуку стльнокореневих cлiв, але залишаеться занадто чутли-вим до cлiв з таким самим закшченням, як у шуканого.

При детальнiшому аналiзi експерименпв бачимо, що результати методу триграм вiдрiзняютьcя вiд резуль-татiв методу МСП з лиерами, якi розташоваш постль, на 10-11 cлiв з уих. Практично метод триграм е^ва-лентний методу МСП; вiдмiнноcтi не штотт, оcкiльки результати все одно значно гiршi за результати методу регулярних виразiв.

SoundEx мае найвишД показники рiвня помилки першого роду.

бдиний метод, який cтабiльно дае низью (не бiльше 17 %) рiвнi обох помилок, - це метод регулярних виразiв. Це пояснюеться тим, що цей метод дозволяе врахувати не лише написання шуканого слова, а i правила його вщмшювання та утворення стльнокореневих ^в. Чудовим прикладом цього е пошук за вира-зом «*кер?в*» для слова «керувати», який враховуе змiну на «керований» та «керiвний». Рiвень помилки I роду 17 %, показаний на cловi «керувати», наcправдi дещо завищений, осюльки в текстах зуcтрiлаcя едина нерозтзнана словоформа «керуе» i не зустртося ряду розпiзнаних словоформ.

Взагалi виcокi рiвнi помилок другого роду поясню-ються тим, що слова, для яких проводилися експе-рименти, е загальновживаними i типовими для орфо-графi'1 укра!нсько! мови, тому для них шнуе багато cлiв зi схожим написанням. Методи нечикого пошуку призначенi для пошуку cпецифiчних cлiв, якi визнача-ють тему документу (технiчних та наукових термШв, прiзвищ), тому при 1х практичному заcтоcуваннi рiвнi помилок будуть меншi за отриманi у роботь

висновок

У роботi дослужено ряд класичних та авторських методiв нечiткого пошуку. Показано, що найшвидшим та найефективнiшим методом пошуку сшв з помилками е пошук за метрикою Левенштейна з рядом оптимь зацш; найефективнiшими для пошуку ошв, стльно-кореневих iз шуканим, е пошук за регулярним виразом та (у спещальних випадках) пошук МСП з лиерами, що розташованi постль. Метод SoundEx взагалi не розв'язуе поставлену задачу. Деякi iз запропонованих алгорштчних заcобiв пришвидшення пошуку вияви-лися достатньо ефективними. Питання про те, яким чином пришвидшити пошук та покращити його результати без включення до алгоритмiв пошуку спещальних знань щодо граматики використовувано! мови, потре-буе подальшого вивчення.

ПЕРЕЛ1К ПОСИЛАНЬ

1. Спирли, Эрик. Корпоративные хранилища данных. Планирование, разработка, реализация. Т.1.: Пер. с англ.

- М.: Издательский дом «Вильямс», 2001. - 400 с.

2. A Guided Tour to Approximate String Matching [Елект-ронний ресурс] / Gonzalo Navarro. - ACM Press, 2001. -Режим доступу: http://portal.acm.org/citation.cfm? doid=375360.375365, в1льний. - Загол. з екрану. -Англ.

3. Levenshtein Distance, in Three Flavors [Електронний ресурс] / Michael Gilleland. - Merriam Park Software, [199-?] - Режим доступу: http://www.merriampark.com/ ld.htm, в1льний. - Загол. з екрану. - Англ.

4. An Extension of Ukkonen's Enhanced Dynamic Programming ASM Algorithm [Електронний ресурс] / Hal Berghel, David Roach. - Електрон. стаття (5 ¡люстрацш). - Publications of Hal Berghel, 1996. - Режим доступу: http:// berghel.net/publications/asm/asm.php, в1льний. - За-гол. з екрану. - Англ.

5. Lazy Dynamic-Programming can be Eager [Електронний ресурс] / L. Allison. - Monash University, 1992. - Режим доступу: http://www.csse.monash.edu.au/~lloyd/tilde-Strings/Alignment/92.IPL.html, в1льний. - Загол. з ек-рану. - Англ.

6. Общие подпоследовательности. Дистанция [Електрон-ний ресурс] / Илья Кантор, при поддержке компании Relmax. - [М.], [200-?] - Режим доступу: http://algol-ist.manual.ru/search/lcs/index.php, в1льний. - Загол. з екрану. - Рос.

7. Метод динамического программирования Вагнера и Фишера [Електронний ресурс] / Илья Кантор, при поддержке компании Relmax. - [М.], [200-?] - Режим доступу: http://algolist.manual.ru/search/lcs/vagner.php, в1льний. - Загол. з екрану. - Рос.

8. Нахождение наибольшей общей подпоследовательности [Електронний ресурс] / David Eppstein, пер. с англ. Илья Кантор. - [М.], [200-?] - Режим доступу: http:// algolist.manual.ru/search/lcs/simple_lcs.php, в1льний. -Загол. з екрану. - Рос.

9. Text-Detector. Fault-tolerant Retrieval Made Simple [Електронний ресурс] / Reinhard Rapp. - [Hildesheim], [199-?]

- Режим доступу: www.cs.um.edu.mt/~mros/doc/Text-Detector.doc, в1льний. - Загол. з екрану. - Англ.

10. 10.Understanding Classic SoundEx Algorithms [Електронний ресурс]: Search Names & Phrases Based on Phonetic Similarity / D. J. Repici. - [Creativyst], [200-?] -Режим доступу: http://www.creativyst.com/Doc/Articles/ SoundEx1/SoundEx1.htm, в1льний. - Загол. з екрану. -Англ.

11. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Радио и связь, 1979. - 536 с.

Надшшла 19.09.2006

В работе проведено теоретическое и экспериментальное сравнение эффективности работы ряда методов нечеткого поиска в текстовых документах на украинском языке. Показано, что самым быстрым и самым эффективным методом поиска слов с ошибками является поиск по метрике Левенштейна, а самым эффективным для поиска однокоренных слов - авторский поиск по регулярному выражению и метод поиска максимальной общей подстроки с идущими подряд буквами.

This paper is devoted to theoretical and experimental comparison of efficiency of several main fuzzy search methods applied to the task of search in textual documents in Ukrainian. It is shown that the fastest and the most effective method of misspelled words search is a method that uses Levenshtein distance, while the most effective method of cognate words search is a regular expression matching search and a method searching the longest common substring with adjacent letters designed by the author.

i Надоели баннеры? Вы всегда можете отключить рекламу.