Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 лаб5_AQL.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

8.Раздел 3: Разработка экстрактора

На шаге 3 в Extraction Task мы создадим экстрактор для 'Division', используя словарь division.dict, который мы скопировали в папку AQL.

Рис.42 – Шаг 3: Разработка экстрактора

Добавьте правило извлечения имен подразделений. В Extraction Plan переместитесь к RevenueByDivision → Labels → Division. Щелкните правой кнопкой по Division label, и выберите New AQL Statement, затем Basic Feature AQL statement.

Рис.43 – Выбор экстрактора, который будет записан для маркированных подсказок Basic Features в Extraction Plan

В диалоговом окне Create AQL Statement, используйте Division в качестве View Name, и затем для типа оператора AQL, выберите Dictionary, так как у нас есть словарь division.dict, который мы загрузили ранее, и определяем AQL script как Division-basics. Чтобы увидеть результат выберите Output view и нажмите OK.

Рис.44 – Определение имени экстрактора и его типа

В редакторе открывается файл RevenueByDivision/basics.aql, и автоматически добавляется шаблон (не обращайте внимания на синтаксические ошибки, вы вскоре это исправите):

Рис.45 – Шаблон для извлечения

Подробная информация об этом шаблоне:

  • Шаблон содержит оператор CREATE DICTIONARY, определяющий словарь DivisionDict из внешнего файла – вам нужно будет заменить в шаблоне < path to your dictionary here > на путь к файлу словаря в вашем проекте (описано ниже);

  • Язык, заданный в соответствии со словарем - „en ‟ (для английского языка);

  • Шаблон содержит описание структуры оператора extract dictionary, чтобы соответствовать ранее определенному DivisionDict словарю. Вы должны будете заменить в шаблоне <input column> и <input view>. При работе с текстовыми документами из файловой системы мы используем вместо input view - 'Document' (при ссылках на все входные документы), вместо input column - 'text' (при ссылках на текст входных документов). Document.text - корректный путь для обращения к содержимому любого входного документа.

Таким образом, исправленный шаблон должен быть таким:

create dictionary DivisionDict

from file 'dictionaries/division.dict'

with language as 'en';

create view Division as

extract dictionary 'DivisionDict'

on R.text as match

from Document R;

output view Division;

Примечание:

После того, как переместите файл division.dict в dictionaries, не забудьте сохранить код в компиляторе командой Ctrl + S

Используя Package Explorer переместите папку dictionaries в

myFirstProject/textAnalytics/src/RevenueByDivision_BasicFeatures. Это необходимо для того, чтобы было соответствие адресов с путем к файлу в предыдущем шаге.

Словари обычно сохранены в файлах, чтобы отделить их от кода aql. Словарь для 'Division' показан ниже.

Рис.46 – Словарь имен подразделений

Сохраните aql файлы выбрав File → Save в главном меню, или нажмите Ctrl+S на клавиатуре.

Вопрос № 2:

Какой оператор AQL позволяет определять словари из внешних файлов?

________________________________________________________