- •1.О языке обработки текста aql
- •2.Требования к обучаемому
- •3.Цели и задачи лабораторной работы
- •4.Сценарий лабораторной работы
- •Раздел 1: Импорт входных документов и словарей
- •Раздел 2: Маркировка ключевых слов в тексте
- •Раздел 3: Разработка экстрактора (aql)
- •Раздел 4: Тестирование экстрактора (aql)
- •Раздел 5: Изучение инструментов
- •Раздел 6: Экспорт результатов
- •5.Подготовка к лабораторной работе
- •7.1.Маркировка фрагментов текста
- •8.Раздел 3: Разработка экстрактора
- •Используя Package Explorer переместите папку dictionaries в
- •9.Раздел 4: Тестирование экстрактора
- •Столбец Span Attribute в центре окна Annotation Explorer показывает имена подразделений, извлеченные экстрактором.
- •9.2.Разработка основных экстракторов для Number, Unit и Revenue
- •9.2.1.В Extraction Plan переместитесь к RevenueByDivision → Labels → Amount. Щелкните правой кнопкой по New aql Statement и выберите Basic Feature aql Statement.
- •9.2.2.В диалоговом окне Create aql Statement введите "Number" как View Name и выберете Regular Expression как type.
- •9.2.3.Необходимо исправить следующие ошибки:
- •9.2.4.Выполните шаги, описанные в прошлом разделе и заполните диалоговое окно для “Create aql Statement”.
- •9.2.6.Обновите шаблон для ‘create view unit’, добавьте флаг следующим образом: “with flags 'IgnoreCase’ ” между строками extract и on
- •9.2.7.Переместитесь в RevenueByDivision → Labels → Revenue. Щелкните правой кнопкой по Revenue и выберите New aql Statement. Выберите Basic Features aql statement.
- •9.2.8.Выполните шаги, утвержденные в прошлом разделе и заполните диалоговое окно для “Create aql Statement”.
- •9.2.10.На данном этапе Extraction Plan должен выглядеть следующим образом:
- •9.3.Разработка дополнительных экстракторов
- •9.4.5.Теперь эти представления могут быть использованы в текущем модуле для экстрактора AmountwithUnit. Переместитесь к aql скрипту этого экстрактора.
- •9.4.6.Добавьте следующие строки кода в самом начале, сразу после названия модуля, для RevenueByDivision_CandidateGeneration, чтобы импортировать требуемые представления в текущий модуль.
- •9.6.Расширение экстрактора для RevenueByDivision: включение информации AmountwithUnit
- •Вернитесь в терминал и запустите браузер командой firefox
- •12.Результаты
7.1.Маркировка фрагментов текста
7.1.1.На шаге Step 2 part a. Label Snippets of Interest в Extraction Tasks наша цель состоит в том, чтобы извлечь показатели дохода каждого подразделения компании из каждого квартального отчета. Мы начинаем с маркировки фрагментов текста в качестве примера дохода подразделения.
Рис.30 – Маркировка документов для идентификации необходимых фрагментов
7.1.2.В открытом документе 4Q2006.txt выделите часть текста: “revenues from Global Technology Services increased 7 percent (…) to $8.6 billion”. (Возможно потребуется прокрутка текста, или нажмите CTRL+F и введите искомый текст в окно Поиска) Щелкните правой кнопкой по выделенному тексту, и выберите Add Example with New Label (Добавить новый пример).
Рис.31 – Выбор необходимых фрагментов текста
7.1.3.В диалоговом окне Add New Label, как показано ниже, введите RevenueByDivision в поле Label Name и нажмите Finish.
Рис.32 – Add New Label
7.1.4.Созданный пример текста отобразится в Extraction Plan:
Рис.33 – Extraction Plan
7.1.5.Вернитесь к документу 4Q2006.txt в редакторе и выберите еще один фрагмент текста, требующий маркировки. Выделите “Revenues from the Systems and technology Group (S&TG) segment totaled $7.1billion”. Щелкните правой кнопкой и выберите Label Example As → RevenueByDivision.
Рис.34 – Добавление дополнительных примеров к ранее созданной текстовой метке
7.1.6.Новый пример появится в Extraction Plan:
Рис.35 – Новый пример метки появляется в Extraction Plan
7.2.Маркировка ключевых слов
На этом шаге мы маркируем ключевые слова в отмеченных фрагментах текста, которые мы выбрали как примеры. Эти ключевые слова помогут извлекать именно ту информацию, которая нам необходима.
Рис.36 – Новый пример метки появляется в Extraction Plan
7.2.1.Исследуйте примеры, маркированные как RevenueByDivision. В Extraction Plan щелкните по первому примеру под RevenueByDivision → Examples. Вы увидите выделенный желтым текст в документах. Повторите этот процесс для другого примера, чтобы увидеть, как в нем выделен другой фрагмент текста.
Рис.37 – Просмотр маркированных фрагментов текста
7.2.2.Исследуйте эти фрагменты. Как вы думаете, какие ключевые слова будут полезны для извлечения?
revenues from Global Technology Services increased 7 percent (…) to $8.6 billion Revenues from the Systems and Technology Group (S&TG) segment totaled $7.1 billion
Ниже представлены несколько ключевых слов, которые полезны для этого примера:
Слово Revenues (Доходы)
Division (Имена подразделений), такие как Global technology Services, Systems and Technology Group (S&TG)
Amounts (Суммы), такие как $8.6 billion, $7.1 billion
Мы маркируем эти ключевые слова и добавляем в Extraction Plan. Процесс маркировки ключевых слов очень похож на маркировку фрагментов текста. Для начала давайте добавим ключевое слово "Revenues".
7.2.3.В файле 4Q2006.txt выделите "revenues" в фрагменте текста “revenues from Global Technology Services …” (см. рис. ниже), щелкните правой кнопкой и выберите Add Example with New Label.
Рис.38 – Идентификация подсказок в выделенных фрагментах текста
7.2.4.В поле Label Name введите Revenue и щелкните по RevenueByDivision, чтобы добавить его к полю Parent Label (Родительская метка). Таким образом, новая метка будет находиться внутри созданной ранее метки RevenueByDivision.
Рис.39 – Добавление подсказок в Extraction Plan
7.2.5.Новая метка появится в Extraction Plan в RevenueByDivision > Labels
Рис.40 – Вид окна Extraction Plan после добавления ключевого слова
7.2.6.Выполните следующие 4 шага, чтобы добавить другие ключевые слова: Amount (Сумма) и Division (Подразделение). Таким образом, вы добавите два примера и две метки:
Выделите Global Technology Services и щелкните правой кнопкой по нему, → выберите Add Example with New Label → введите Division для Label Name, и RevenueByDivision для Parent Label → нажмите Finish;
Выделите Systems and Technology Group (ST&G) и щелкните правой кнопкой по ней, → выберите Label Example As → Division;
Выделите $8.6 billion и щелкните правой кнопкой по нему, → выберите Add Example with New Label →, введите Amount для Label Name и RevenueByDivision для Parent Label → нажмите Finish;
Выделите $7.1 billion и щелкните правой кнопкой по нему, → выберите Label Example As → Amount.
После завершения этого шага у вас должно быть две метки: Division и Amount, с двумя примерами каждая, в RevenueByDivision, как показано ниже. Убедитесь, что ваш Extraction Plan соответствует рисунку:
Рис.41 – Окно Extraction Plan после добавления подсказки
