ості системи, а також скорочення кількості обчислень застосуванням спеціальних підходів у розрахунках. Одним з підходів, що задовольняють вищеописаним критеріям, є використання нейронних мереж. Нейронні мережі забезпечують можливість паралелізації обчислень і зниження обчислювального навантаження на систему пошуку, обчислення, вироблені нейронною мережею при навчанні та пошуку можуть бути розподілені між декількома обчислювальними вузлами, що забезпечить перевагу в швидкості обробки пошукових запитів та індексації. Це також забезпечить високу масштабованість системи - при додаванні нових обчислювальних вузлів швидкість пошуку буде рости.
Крім того, при використанні нейромережевого підходу, з'являється можливість зробити висновки з результатів кластеризації даних, що може допомогти в процесі вдосконалення і розвитку даної системи.
У порівнянні зі статистичними методами кластеризації нейромережевої підхід забезпечує менше навантаження на обчислювальні засоби системи і велику гнучкість моделі при змінюються початкових даних (при отриманні додаткових векторів з навчальної вибірки мережа має можливість дообучаться, тоді як статистичні методи в такій ситуації вимагають перерахунку для всіх вихідних даних кластеризації).
Крім того, при правильному виборі алгоритму кластеризації з'являється можливість прискорити процес пошуку.
6. Опис роботи механізму пошуку
Нехай є безліч документів,, і - безліч унікальних термів, що містяться в докуметнах множини,.
Першою стадією обробки колекції документів, обраних користувачем, є їх індексація. Індексація - процес обробки файлів з метою вилучення з них корисних текстових даних і подальшому їх занесенні в повнотекстовий індекс. Далі кожен документ представляється вектором, компонент якого відображає характеристику TF-IDF окремо взятого унікального терма з номером, при цьому, якщо терм не входить у файл (тобто даний терм не має значення в даному документі). Отримані векторні подання документів відображають значимість термів в документі і можуть бути використані для ранжирування результатів пошуку, наприклад, на основі евклідової відстані між вектором пошукового запиту користувача (перетвореного аналогічно документам в векторне подання) і векторами ранжіремих документів. Але такий підхід зажадає операцій обчислення відстані між векторами (де - загальне число документів у колекції, яке може бути дуже велике). Тому доцільно провести кластеризацію векторних уявлень документів, що дозволить скоротити кількість операцій порівняння до, де - число кластерів. Виводитися в результат пошуку будуть тільки документи, що стосуються лише кільком найближчим до пошуковому запиту кластерам (або тільки до одного найближчого), але релевантність визначатиметься так само - по відстані між векторами пошукового запиту і вектором ранжируемого документа.
Навчання нейронної мережі Кохонена передбачається проводити онлайн методом [9], навчаючи мережу на нових векторних уявленнях у міру додавання индексатором документів до вже індексованих документам. В результаті навчання нейронної мережі Кохонена буде отримана кластеризація документів, представлених векторами в -мірному просторі характеристик TF-IDF термів, що дозволить скоротити кількість розрахунків при виконанні операції пошуку і поліпшити показник точності і повноти пошуку при правильному підборі параметрів мережі та архітектури системи. Також при навчанні мережі Кохонена може бути використано кілька етапів:
· Грубий етап навчання - початкова настройка кодують векторів мережі, вибирається повільно затухаючий коефіцієнт навчання та великий радіус навчання. На даному етапі будується грубе наближення до початкових даними
· Точний етап навчання - побудова більш точного наближення до даних, вибирається швидко затухаючий коефіцієнт навчання для забезпечення збіжності процесу і менший радіус навчання
Для кластеризації може бути використаний підхід нейронного газу, коли кількість кластерів регулюється системою автоматично, відповідно до визначених розробниками правилами, підібраними експериментально.
Оскільки загальна кількість унікальних термів в колекції документів,, може досягати великих розмірів, передбачається використовувати SVD-розкладання матриці, стовпцями якої є векторні подання документів (матриця терм-документ) або інші способи стиснення даних з виділенням найбільш значущих компонент.
7. Структура системи
Практична реалізація побудована на базі об'єктно-орієнтованої мови Java із застосуванням СУБД postgreSQL для зберігання індексної інформації про документи (у вигляді описаної раніше векторної моделі з підходом TF-IDF), а також даних щ...