Использование текстовых функций в запросе

Пусть нам нужно найти все предложения сказки, содержащие слова, включающие последовательность "стар". Для решения этой задачи составим следующий запрос (рис. 14.3).

Рис. 14.3. Окно запроса для автоматического составления выборки предложений с заданными параметрами

Этот запрос означает, что на экран следует вывести те записи поля Sent таблицы ПРЕДЛОЖЕНИЯ, для которых в поле Sent (преобразованном в нижний регистр) содержится последовательность символов "стар". В результате выполнения запроса получим следующую выборку из базы данных (рис. 14.4).

Рис. 14.4. Результат выполнения запроса

Если просмотреть запрос в формате SQL (для этого надо нажать кнопку Вид в левом верхнем углу экрана и выбрать режим SQL), получим: SELECT ПРЕДЛОЖЕНИЯМИ FROM ПРЕДЛОЖЕНИЯ WHERE (((InStr(LCase([Sent]),"CTap"))>0)).

Мы можем редактировать SQL-выражение запроса и передавать его на исполнение, например:

SELECT *

FROM ПРЕДЛОЖЕНИЯ

WHERE (((InStr(LCase([Sent]),"коч"))>0".

В результате выполнения этого запроса будут выведены все поля таблицы ПРЕДЛОЖЕНИЯ, ОГЛАВЛЕНИЕ последовательность символов "коч".

Экспорт (импорт) таблицы

Любую таблицу, в том числе полученную в результате выполнения запроса, можно экспортировать во внешний файл типа MS Excel, MS Word, в текстовый файл или в некоторые другие форматы. Проще всего экспортировать и затем импортировать данные в (из) файла Excel.

Например, для выполнения операции экспорта данных из подготовленной в Access базы данных откройте таблицу, полученную в запросе на рис. 14.2. Войдите в режим Внешние данные и выберите Экспорт – Excel. Откроется окно Выберите источник и место назначения файлов. В окне Имя файла укажите имя файла ЧАСТОТА СЛОВ.хlsх и поставьте флажок Экспортировать данные с макетом и форматированием. Нажмите ОК. В следующем окне можно будет сохранить шаги экспорта. Впоследствии можно импортировать этот внешний файл в полноценную таблицу, с которой можно выполнять все допустимые в Access операции.

Для импорта данных в Access необходимо в режиме Внешние данные выбрать команду Импорт и нажать тип файла Excel. Откроется окно Имя файла, выберите файл ЧАСТОТA CЛOB.xlsx. Нажмите ОК и затем принимайте все предложения системы, нажимая ОК. Когда будет задан вопрос об имени создаваемой таблицы, введите ЧАСТОТАСЛОВ. В списке таблиц появится таблица с этим именем, отсортированная по частоте встречаемости слов в нисходящем порядке.

Лемматизация слов

В данном примере лемматизация слов из поля СЛОВО выполняется вручную. Для выполнения операции лемматизации в таблицу ЧАСТОТА СЛОВ добавьте поле ЛЕММА длиной 32 знака. Отсортируйте таблицу по полю СЛОВО в восходящем порядке (от А до Я). Для этого поместите курсор на любую запись поля СЛОВО, нажмите правую клавишу мыши и в выпадающем меню выберите Сортировка от А до Я. Выделите поле СЛОВО, нажмите Ctrl+C (копирование столбца). Выделите поле ЛЕММА и нажмите Ctrl+V (вставка копии). Поле ЛЕММА будет содержать те же слова, что и поле СЛОВО. Введите для каждого слова из поля СЛОВО, нормальная форма которого не совпадает со словоформой, лемму в поле ЛЕММА (например, бедные – бедный, блинки – блинок, блинков – блинок и т.д.).

После лемматизации выполним запрос на построение списка частотности лемм. Этот запрос формируется таким же образом, как и запрос, выполнение которого показано на рис. 14.2. Отличия показаны на рис. 14.5.

Рис. 14.5. Запрос на построение списка частотности лемм

Существенным отличием является использование в строке Групповая операция вместо функции Count в запросе на рис. 14.2 функции SUM, которая суммирует те частоты словоформ, которые соответствуют одной и той же лемме.

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

Рис. 14.6. Таблица частот лемм

Путем применения операции экспорта-импорта можно получить полно- функциональную таблицу частотности лемм. Назовем ее Частота_лемм. В эту таблицу добавим ноле ЧАСТЬРЕЧИ, которое также будем заполнять вручную.

Обозначим существительное как п, прилагательное – а, глагол – v, наречие – adv, предлог – рrе, местоимение – pro, частица – prt, союз – cnj, междометие – int, числительное – пит.

После заполнения поля ЧАСТЬ РЕЧИ для всех лемм подсчитаем частотность частей речи в сказке ПЕТУХ И ЖЕРНОВЦЫ. Подсчет выполняется запросом, аналогичным запросу на рис. 14.5, но с небольшими отличиями (рис. 14.7).

Рис. 14.7. Запрос на подсчет частотности частей речи

Полученная в результате таблица имеет следующий вид (рис. 14.8).

Рис. 14.8. Таблица частот частей речи в сказке "Петух и жерновцы"