Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYTHON 1-60 шпори.doc
Скачиваний:
35
Добавлен:
23.04.2019
Размер:
176.13 Кб
Скачать

51. Характеристика задачі побудови словника основ і пошуку в ньому, як задачі керування базою даних

Оскільки побудову словника розглядаємо як побудову бази даних , тоді:

Ключі записів такої бази- основи словоформ, а записи , а записи тіла записів – граматична та інша інформація, що відповідає даній основі.Як правило, задача вибору інформації з бази даних по ключу К це є задачі знаходження в базі всіх записів, ключів, ключі яких рівні К.У нас К-ланцюжок букв певної довжини основи гіпотетичної словоформи.Але в певному вигляді ми шукаємо інформацію по ключу К—записи, ключі яких є початковими частинами К.Тут К-ланцюжок невизначеної довжини (весь текст).Результат пошуку –множина всіх можливих основ словоформи

52. Загальна структура словника основ, яка забезпечує мінімум звертань до диска

При звернені до диску ми можемо зчитати тільки певну частину –блок словника. І дуже важливо знайти таку структуру бази даних, при якій обробка одного запиту (аналіз однієї словоформи) не потребує більш ніж одного звертання до диску. Це складно. Тому що, якщо аналізувати слово (справи спра-справ-прав-пра), то його основа розміщена у словнику і при алфавітній формі розміщені в даних блоках словника.В даному випадку пропонується така структура даних.Потрібно впроваджувати словник лексико-графічно.Лексикографічний порядок дозволяє комп. застосовувати методи стиснення тексту.Замість повторення в ключі чергового запису тих його перших букв, які співпадають з попереднім записом вказується їх кількість. паро<4плав<8 шт.Задається певна величина словарного блоку.Додаючи у файл нулі де потрібно, добиваємось того, щоб ні одна словникова стаття не пересікалася з даними блоку.Якщо словникових статей розміром більших за блок не має ,то це можна зробити і об*єм словника збільшиться на 3%-5%.Стиснення інформації проводиться тільки всередині блока, і не стосується його початкового запису.В оперативній пам*яті розміщається індексний масив, який містить для кожного блоку ключ його першого запису.Цей масив також можна розбити на блоки і стиснути.Ключ зберігаєтся не повністю, всередині блоку орієнтований розмір такого індексногомасиву для словника 250 тис. основ буде складати 12,5 Кбайта.

53. Алгоритм пошуку у словнику основ. Навести приклад

При пошуку шукаємо місце ланцюжка букв в індексному масиві .Таким місцем запису називається позиція у впорядкованому масиві,що містить лексикографічно максимальний запис не більший даного.З диску зчитується відповідний блок основного масиву словника.В ньому лишається місце того самого ланцюжка.Ланцюжок обрізається по першій букві, по якій він не співпадає із знайденим у словнику ланцюжком, а область пошуку в словнику обмежується записами , що розміщені вище останньої , що розглядалась.Далі процес повторюється для вкороченого ланцюжка.Приклад.Маємо слово «парою» .Нехай її місце в словнику відповідає ключу «пароль».Обрізаємо ланцюги по буквах, що не співпадають, отримаємо паро- і знову повторюємо пошук.Знаходимо одну з основ пар-(а).Якщо обмежити область пошуку, виключивши всі записи починаючи зі знайденої основи.Повторення пошуку дасть ще одну основу пар-(0).Якщо наступний знайдений ключ не співпадає по перших буквах, то пошук завершується.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]