Реализация параллельного алгоритма извлечения N-gram из текста на функциональном языке

Авторы

  • B. S. Daribayev Казахский национальный университет имени аль-Фараби, Университет международного бизнеса (UIB), г. Алматы, Казахстан http://orcid.org/0000-0003-1313-9004
  • D. V. Lebedev Казахский национальный университет имени аль-Фараби, г. Алматы, Казахстан http://orcid.org/0000-0002-5186-6483
  • D. Zh. Akhmed-Zaki Университет международного бизнеса (UIB), г. Алматы, Казахстан http://orcid.org/0000-0001-8100-8263

DOI:

https://doi.org/10.26577/JMMCS.2020.v107.i3.05

Ключевые слова:

параллельный алгоритм, функциональный язык, LuNA, N-gram, фрагментированное программирование

Аннотация

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

Библиографические ссылки

[1] Malyshkin V.E., "Tehnologija fragmentirovanogo programmirovanija" , Vestnik JuUrGU. Ser. Vych. matem. inform no. 1 (2012): 45–55.

[2] Malyshkin V., Perepelkin V., Schukin G., "Scalable distributed data allocation in LuNA fragmented programming system" , Journal of Supercomputing 73, no. 2 (2016): 726-732.

[3] "Google Natural Language" , https://cloud.google.com/natural-language.

[4] Brants T., Popat A.C., Xu P., Och F.J., Dean J., "Large Language Models in Machine Translation" , Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (2007): 858-867.

[5] Young T., Hazarika D., Poria S., Cambria E., "Recent Trends in Deep Learning Based Natural Language Processing" , IEEE Computational Intelligence Magazine 13, no. 3 (2018): 55-75.

[6] Srinivasa K.G., Shree Devi B.N."GPU Based N-Gram String Matching Algorithm with Score Table Approach for String Searching in Many Documents" , Journal of The Institution of Engineers (India): Series B 98, No.5 (2017): 467-476.

[7] Banasiak D. "Statistical methods of natural language processing on GPU" , Advances in Intelligent Systems and Computing (2016): 595-604.

[8] Shaikh E., Mohiuddin I., Alufaisan Y., Nahvi I., "Apache Spark: A Big Data Processing Engine" , 2019 2nd IEEE Middle East and North Africa COMMunications Conference (2019).

[9] Bougar M., Ziyati E.H., "Addressing Stemming Algorithm for Arabic Text Using Spark Over Hadoop" , Advances in Intelligent Systems and Computing (2020): 74-82.

[10] Aubakirov S., Trigo P., Ahmed-Zaki D., "Comparison of distributed computing approaches to complexity of N-gram extraction" , Proceedings of the 5th International Conference on Data Management Technologies and Applications - Volume 1: DATA (2016): 25-30.

Загрузки

Опубликован

2020-09-30