С помощью парсера можно обрабатывать большие массивы текстовых файлов или источников RSS.
Запуск приложения
При запуске файла можно указывать параметры командной строки, например:
Где
Параметр
Описание
--input-file
входящий файл: можно обрабатывать один текстовый файл за один запуск
--input-encoding
кодировка входящего файла (default windows-1251) – Описание
--rules-file
грамматика в формате syntXML
--mssqlrep-connectionstring
строка подключения к базе MS SQL для получения граммем и семантических признаков
--pgsink-connection
строка подключения к базе PostgreSQL для сохранения результатов разбора – Описание базы
--morphmatchregex_pattern
файл разбора словоформ по регулярным выражениям
--guesserweb-host
адрес работы системы разрабора словоформ по сходству («гессер»)
--guesserweb-ntop
число возвращаемых вариантов разбора словоформ по сходству
Чтобы обработать несколько файлов, нужно запустить файл PipeDemo.exe для каждого из них. Для этого можно создать командный файл, который будет вызывать PipeDemo.exe для каждого файла из директории.
При запуске PipeDemo.exe выводит только сообщения о начале работы и о её окончании:
Проверка добавления в базу
Чтобы убедиться, что процесс разбора идёт, нужно задать вопрос к базе. Следующий запрос показывает максимальный идентификатор в таблицах. Если происходит запись в таблицы, то значения запроса при последовательных запусках будут расти.
Возможный результат:
base
maxid
sentences
2343552
syntax
267514
facts
4860259
Последняя запись в базе
Конечно, во время разбора интересно, что именно было добавлено в каждую таблицу. Следующий запрос показывает последнюю добавленную запись в каждой таблице:
Здесь для каждой таблицы (sentences, synatx и т. д.) видно, какой процесс (например, 51f949d3) добавил запись с каким идентификатором (например, 2343548), на каких версиях компонентов был произведён разбор (matcher: “1.3-ak”, guesser: “1.0:WEB”…), какое предложение разбиралось (осуществление проекта будет…), как выглядит запись предложения, разделённого на словоформы, и как выглядит синтаксическое дерево в формате treeJSON ({ “nodes”: [ { “nodes”: [ { …)
Предложения из последнего разбора
Чтобы просмотреть предложения, которые были проанализированы в рамках последнего запуска, можно использовать следующий запрос:
Возможный результат:
substring
sentid
sent
treecnt
fcnt
oksent
unknown_token
51f949d3
2343552
средняя скорость движения трамваев на маршруте составит более 25 километров в час.
0
4
1
[NULL]
51f949d3
2343551
предполагается, что первая часть маршрута будет закончена к 2023 году.
0
4
1
[NULL]
51f949d3
2343550
на втором этапе будут выстроены 14 километров путей от петергофского шоссе до города петергофа.
0
0
[NULL]
[NULL]
51f949d3
2343549
сначала будет построена ветка протяженностью шесть километров от существующих трамвайных путей— по улицам маршала казакова, маршала захарова, балтийскому бульвару, проспекту героев до петергофского шоссе.
0
0
[NULL]
[NULL]
Таблица показывает, что в рамках процесса 51f949d3 были проанализированы несколько предложений. Для некоторых из них были успешно пострены факты (fcnt), это значит, что предложение было разобрано. Если в процессе разбора были найдены незнакомые слова, они появятся в столбце unknown_token. Но при использовании компонента «гессер» неизвестных слов не остаётся, для любого слова предлагается та или иная гипотеза разбора.