Реализация параллельного алгоритма извлечения N-gram из текста на функциональном языке (ҚазҰУ Хабаршысы. Математика, механика, информатика сериясы, 2020)
В данной статье рассматривается реализация параллельного алгоритма извлечения N-gram из слабоструктурированного текста на функциональном языке системы LuNA реализующий технологию фрагментированного программирования. Алгоритм извлечения N-gram относится к задачам NLP. Проведен анализ других реализаций рассматриваемого параллельного алгоритма с использованием технологий MPJ Express, Apache Spark и Apache Hadoop. На основе анализа предлагается выбрать систему LuNA из-за того, что она умеет автоматически настраивать алгоритм на конкретную вычислительную систему за счёт используемой модели алгоритма в виде множества последовательных информационно зависимых задач, которые динамически распределяются по процессорам и ядрам вычислителя. В работе описывается схема реализации данного алгоритма, с применением технологии фрагментированного программирования. В статье была описана схема разделения на фрагменты данных и фрагменты вычислений. Приведена схема реализации алгоритма извлечения N-gram. Проведено тестирование на различном количестве процессоров для извлечения N-gram по словам. При извлечении токенов были удалены все стоп слова, которые задаются заранее в отдельном текстовом хранилище. Тестирование показало хорошую эффективность предлагаемого подхода по реализации алгоритмов с использованием системы LuNA.