Функционалды тiлде мәтiннен N-gram шығаруға арналған параллель алгоритмдi жүзеге асыру
DOI:
https://doi.org/10.26577/JMMCS.2020.v107.i3.05Кілттік сөздер:
параллель алгоритм, функционалды тiл, LuNA, N-gram, фрагменттелген программалауАннотация
Берілген мақалада фрагменттелген программалау технологиясын қолданатын LuNA жүйесінің функционалдық тілінде әлсіз құрылымды мәтіннен N-gram-ды шығарып алу параллельді алгоритмінің жүзеге асырылуы қарастырылады. N-gram-ды шығарып алу NLP есептеріне жатады. MPJ Express, Apache Spark және Apache Hadoop технологияларын қолдану арқылы қарастырылып отырған параллель алгоритмнің басқа жүзеге асыруларына талдау келтірілген. Талдаудың негізінде LuNA жүйесін таңдау ұсынылады, себебі бұл жүйеде есептеуіштің процессорлары мен ядроларында динамикалық түрде үлестірілетін, ақпараттық байланысқан есептердің тізбектелген көпмүшесі түрінде қолданылатын алгоритмнің моделінің негізінде алгоритмді нақты есептеу жүйесіне автоматты баптай алу мүмкіншілігіне ие бола алады. Жұмыста фрагменттелген программалау технологиясын қолдану арқылы берілген алгоритмның жүзеге асырылуының схемасы сипатталады. Мақалада мәліметтер фрагменттері мен есептеу фрагменттерінің бөліну схемасы сипатталған. N-gram-ды шығарып алу алгоритмінің жүзеге асырылу схемасы келтірілген. Сөздер бойынша N-gram-ды шығарып алуға процессорлардың әртүрлі мөлшерінде тестілеулер жүргізілген. Токендерді шығарып алу кезіне алдын-ала жеке мәтіндік қоймада берілетін барлық стоп сөздер жойылған. Тестілеудің нәтижесі LuNA жүйесін қолдану арқылы жүзеге асырылған алгоритмдерге қатысты ұсынылып отырған әдіс жақсы тиімділікті көрсетті.
Библиографиялық сілтемелер
[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.