благодаря этому проект обеспечивает положительную величину чистой текущей стоимости. Таким образом, значения показателей говорят об экономической эффективности и целесообразности реализации предлагаемого проекта.
Достижение высокого уровня экономической эффективности работы машиностроительного предприятия в условиях внедрения инновационных технологий невозможно без своевременного технического перевооружения производства. Повышение технико-экономического уровня отдельных производств и предприятий в целом на основе внедрения передовых технологий и оборудования соот-
ветствует современным жестким требованиям к качеству производимой продукции, способствует повышению уровня экономической и экологической безопасности производства и обеспечивает соответствующий контроль качества.
Список литературы
1. Рентгеновские аппараты ISOVOLT Mobile 160. - URL: https://www.geo-ndt.ru (дата обращения: 25.10.2020). - Текст: электронный.
2. ПАМИР-200 - рентгеновский аппарат. -URL: https://www.expertnk.ru (дата обращения: 25.10.2020). - Текст: электронный
ВИКОРИСТАННЯ МЕТОД1В МАШИННОГО НАВЧАННЯ ДЛЯ ВИЯВЛЕННЯ ШАХРАЙСЬКИХ ВАКАНС1Й
Оверко В.В.
маггстрант кафедри техмчно! юбернетики Нацюнального технгчного унгверситету Украши «Кшвський полтехнгчний iнститут 1мет 1горя Сжорського»
Корнага Я.1. кандидат mexHi4Hrn наук доцент кафедри mexHi4H0ï юбернетики Нацюнального теxнiчного ymiверситету Украши «Кшвський полiтеxнiчний iнститут iменi 1горя Скорського»
SCAMMER VACANCY DETECTION WITH MACHINE LEARNING
Overko V.
Master's Degree Student, Department of Technical Cybernetics National Technical University of Ukraine 'Igor Sikorsky Kyiv Polytechnic Institute'
Kornaga Ya.
Ph.D. in Engineering Associate Professor of Technical Cybernetics National Technical University of Ukraine 'Igor Sikorsky Kyiv Polytechnic Institute'
Анотащя
Пошук роботи завжди був i залишаеться вкрай актуальним питанням, особливо в епоху розвитку ци-фрових технологш, i виршити його допомагають численш сайти для оголошень та пошуку вакансш. Одним i3 таких сайпв е Jooble. Нажаль, у цш сферi поширюеться шахрайство. Шахра! розмiщують в 1нтернеп оголошення про роботу, а коли людина ввдгукаеться, вони вдаються до рiзних хитрощiв, щоб викрасти И грошi або персональнi данш. Щоб захистити сво!х користувачiв, компашя Jooble запустила проект-досль дження для розробки алгоритмiв та пiдходiв для завчасного виявлення шахрайських вакансiй на основi !х змiсту.
Abstract
Job search has always been and remains a topical issue especially in the age of digital technology, and numerous sites for job search, one of which is Jooble, help solve this issue. Unfortunately, fraud is widespread in this area. Scammers place job advertisements on the Internet, and when people respond, they resort to various tricks to steal their money or personal data. To protect its users, Jooble has launched a research project to develop algorithms and approaches for early detection of scam vacancies based on their content.
Ключовi слова: машинне навчання, NLP, класифжац1я текслв, шахрайство.
Keywords: machine learning, NLP, text classification, scam, fraud.
Постановка проблеми. Шахрайсьш вакансш або скам-ваканси (ввд англ. Scam) - це вид оголошень про роботу, яш зовшшшм видом i змютом iмi-тують вакансш та вводять шукача роботи в оману. Ввддш контролю якосп контенту сайту Jooble без-посередньо зггкнувся iз проблемою шахрайських
вакансш, отримавши скарги вщ користувачiв про те, що ïx обманули.
В результат було виявлено декшька основних шляxiв шахрайства, серед яких таш:
- вимагання ввд працiвника оплатити певну суму з будь-якого приводу (наприклад, за гарантш виконання роботи);
- пращвник повинен щось придбати за грошi у роботодавця-шахрая;
- прохання надати документи (паспорт, 1ПН) через електронну пошту або шшими шляхами. Як наслвдок шахра! оформлюють кредити на iм'я пра-щвника.
Работа-интернет-Экспресс
Горсщ Тернопопь
Занятость Полная занятость
Зарплата 7 ООО грн
KpiM того, було виявлено, що шахрайськ1 вакансй мають деякi спiльнi риси - вони зазвичай не мь стять конкретно! шформаци про саму посаду або обов'язки, в них наявнi так фрази як «легка робота», «для жшок», «вiльний графш» та ш. Типовий приклад шахрайсько! вакансй на рис. 1.
Описание вакансии Работа в сети интернета для женщин и мужчин в возрасте от 18 до 60 лет Возможно без опыта работы Обучение бесплатное Материалы по обучению подготовлены и будут предоставлены каждому желающему Работа официально Заработная плата в гривнах Не упустите свой шанс получить дополнительный доход Рис 1. Приклад шахрайськог вакансй.
Таким чином, виникла необхщшсть знаходити та видаляти шахрайсьш вакансй' iз бази пошуку Jooble. Але з огляду на те, що тшьки у базi для Ук-ра1ни знаходиться бшьше 200 тис. вакансш, як по-стiйно оновлюються, робити це зусиллями лише модераторiв неможливо.
Була поставлена наступна мета - побудувати модель машинного навчання, яка буде на основi тексту вакансй визначати чи е вона шахрайською, що потребуе виршення таких завдань:
1. Розробити алгоритм оцшки та монiторингу кiлькостi шахрайських вакансiй на сайтi.
2. Застосувати вимогу до моделi - швидкодiя, враховуючи, що на класифiкацiю одше! вакансй ви-дiляеться до 100 мс.
• Побудова моделi пошуку шахрайських вакансш. Для виршення задачi класифжаци текс-тiв найпотужнiшим шструментом е нейроннi мереж!, бо вони здатш розпiзнавати змют тексту - це саме той алгоритм машинного навчання, який варто застосувати у задача Але для навчання тако! модел1 потр!бно багато розмiчених даних, яких немае на початковiй ггерацп проекту, а пошук у вщкритих джерелах наборiв даних результатiв не дав. В наяв-носп лише близько 100 шахрайських вакансш. Отже, для першо! ггераци досл1дження було вирь шено створити штучний наб!р даних за такими правилами:
1. Сформувати список професш, як1 зустр!ча-ються, як правило, в заголовках звичайних вакансш
2. Створити список «поганих» заголовшв вакансш з вщомих шахрайських вакансш
3. Визначити шахрайсьш вакансй' за наступ-ними критер!ями:
- вщсутшсть зазначення професи в заголовку;
- наявшсть фраз(и) !з списку «поганих» заголовков.
4. Вщнести до нешахрайських вакансш при умов!, якщо:
- мютить професiю в заголовку;
- написана англшською мовою (так1 шахрайсьш вакансй в Укра!ш не зустрiчалися).
Отриманий набiр даних мютив по 15 тис. вакансш для кожного класу, загалом близько 30 тис. те-кстiв, чого достатньо для навчання базово! нейрон-но! мереж1. Треба зазначити, що нешахрайських вакансш спочатку у наборi даних було значно б№ше, шж 15 тис., але !х к1льк1сть було зменшено, щоб уникнути проблему незбалансованих класiв при на-вчаннi моделi.
Для вирiшення ще! задачi необхiдно отримати векторне представлення для слiв у текстах вакансш Традицшно для векторного представлення ^в ви-користовують моделi технологii' Word2Vec [2], на-вчаючи !х на корпусах текслв певно! мови. У на-шому випадку проблема полягае в тому, що в Укра-im вакансй зустрiчаються рiзними мовами: росшською, укра!нською, англiйською. Комбшу-вати дешлька моделей Word2Veс для рiзних мов дуже складно i затратно, бо це вимагае додатково! процедури визначення мови для кожно! вакансй та навчання нейронних мереж для кожно! мови ок-ремо. Було знайдено i протестовано 2 шляхи вирi-шення:
1) зiбрано корпус текстiв iз уах iсторичних вакансiй рiзними мовами, яш зустрiчалися в Укра-im (результуючий корпус склав 6 млн. текслв), який необх1дно взяти за основу для навчання на ньому моделi Word2Vec, яка буде використовува-тися для векторизаци текстiв в уах наступних ней-ронних мережах. Таким чином одна Word2Vec модель матиме векторне представлення для ств з рiз-них мов.
2) побудовано нейронну мережу-класифжа-тор на основi символiв (англ. Character based model), яка приймае на входi послiдовнiсть симво-лiв тексту в формат одноразового кодування (англ. One-hot encoding).
Архггектури нейронних мереж. В ходi досль дження було створено 2 основш архiтектури. 1х по-рiвняння на тестовому наборi даних наведено у таб-лицi 1. Як метрики ощнки моделей використано то-чнiсть (precision) i повноту (recall), вибiр яких обгрунтовано незбалансовашстю класiв (шахрайсь-ких вакансiй на сайп у декiлька разiв менше, нiж нешахрайських).
1. Model 1 - CNN+RNN - поеднання згортко-во! i рекурентно! нейронних мереж. Така комбша-цiя нейронних шaрiв дослiджувaлaся у задачах NLP для клaсифiкaцii текстiв [1]. Доволi проста в нав-чaннi архггектура, що задовольняе вимогам швид-кодп в виробничому середовищi. Детальний опис шaрiв нейронно! мережi наведений на рис. 2.
Layer (type) Output Shape Param #
convld_3 (ConvlD) (None, 150, 64) 64964
max_poolingld_3 (MaxPoolingl (None, 75, 64) 0
dropout 3 (Dropout) (None, 75, 64) 0
lstm_3 (LSTM) (None, 100) 66000
dense_3 (Dense) (None, 2) 202
Total params: 130,266 Trainable params: 139,266 Non-trainable params: в
Рис. 2. CNN+RNN модель
2. Model2 - Character-level Network (рис. 3). Архггектура такого виду була розглянута у досль дженш [3], в якому автори тсля згорткових шарiв додавали повнозв'язнi. У нашому випаду Model2 побудована за тим же принципом, що i modell - ви-конано поеднання згорткових шарiв i рекурентних.
Model2 отримуе на входi послiдовнiсть символiв без додаткових векторних перетворень, тому для того, щоб вона могла краще узагальнювати шфор-мaцiю iз символiв було додано декiлькa згорткових шaрiв. В результaтi model2 мае набагато бшьше па-рaметрiв, нiж modell, що зменшуе ii швидкодш.
Layer (type) Output Shap e Param #
input (InputLayer) (None, 1050) 0
embedding_l (Embedding) (Nonej 1050 , 100) 10100
convld_l (ConvlID) (Nonet 1044 , 256) 179456
activation_l (Activation) (Nonej 1044 , 256) 0
max_pooliingld_l (MaxPoolingl (Nonet 348, 256) 0
convld_2 (ConvlID) (Nonej 342, 256) 45S00S
activatioin_2 (Activation) (Nonet 342, 256) 0
raax_pooliingld_2 (MaxPoolingl (None, 114, 256) 0
convld_B (ConvlID) (Nonet 112, 256) 196864
activatioin_B (Activation) (None} 112, 256) 0
convld_4 (ConvlID) (Nonet не, 256) 196864
activation_4 (Activation) (Noneу 110, 256) 0
convld_5 (ConvlID) (Nonet 108, 256) 196864
activation_5 (Activation) (Noneу 108, 256) 0
convld_6 (ConvlD) (None} 106, 256) 196S64
activation_6 (Activation) (Noneу 106, 256) 0
max_poolingld_3 (MaxPoolingl (None, 35, 256) 0
dropout_l (Dropout) (Noneу 35, 256) 0
bidirectional_l (Bidirection (Noneу 200) 285600
dense_l (Dense) (Noneу 2) 402
Total params: 1,722,022 Trainable pararas: 1,722,022 Non-trainable pararas: 0
Рис. 3. Character-level Network Architecture
Тaблиця 1.
Порiвняння моделей
Модель Precision Recall
Model1 (CNN+RNN) 0.95 0.91
Model2 (Character-level) 0.83 0.86
Тестування моделей у реальних умовах. Для
використання у виробничому середовищ! було об-рано Modell, так як вона показала вищу точшсть (precision) та повноту (recall) на тестових даних.
того до i! суттевих переваг вщносяться швид-код!я та простота шдтримки. Повну схему системи пошуку шахрайських вакансш зображено на рис.4:
1) Кожна нова ваканс1я класифшуеться сервь сом Scam Detector (де вбудована модель).
2) Потенцшно шахрайсьш вакансй вщправля-ються на додаткову перев1рку модератору. Якщо ваканс1я дшсно шахрайська, модератор видаляе il
3) Результати ршення модератора збер1га-ються i використовуються надал1 для перенавчання модель
Рис. 4. Схема використання моделi
У процеа роботи моделi проводилася онлайн оцiнка метрики точносп (precision). Виявилося, що реальна точшсть (precision) моделi значно нижча, шж отримана на тестових даних - 0.347 зашсть 0.95. Це можна пояснити тим, що зiбранi для побу-дови базово! моделi даннi виявилися занадто шум-ними. За рахунок поступового збору даних ввд мо-дераторiв, як1 постшно перевiряють i виправляють рiшення модели протягом 3-х мiсяцiв шляхом пос-тiйного доповнення тренувального набору даних та перенавчання моделi вдалося пвдняти цей показник (precision) до 0.611.
Нажаль оцiнити напряму метрику Recall у цш системi неможливо, тобто ми не знаемо, сшльки за-лишилося шахрайських вакансiй, якi модель не ви-явила. Тому було започатковано регулярну оцiнку кiлькостi скаму на сайтi. Алгоритм:
1) обрати ус переглянутi користувачами вакансй за останню добу.
2) обрати серед них 2000 випадкових вакансш (репрезентативна B^ipo) i надати B^ipKy на пере-BipKy модераторам (без учасп моделi).
3) оцiнити шльшсть шахрайських вакансiй у цiй вибiрцi.
4) повторити кроки 1-3 кожен тиждень.
Результати регулярно! оцiнки представлен на
графiкy рис. 5. Перша така оцiнка була проведена у лютому (2019-02-20) - це початковий стан бази вакансш на сайп, близько 7% - це потенцшно шахрайсьш Scam_view - це вщсоток ввд уах перегля-дiв, який приходиться на шахрайсьш вакансй', тобто серед уах вакансш, яш користувач побачив на сайп, близько 11% це - скам. Наступш iтерацiï регулярно! оцшки, починаючи з травня (2019-05-22), проводилися пiд час використання моделi у виробничому середовищг Отже, система пошуку скаму допомогла зменшити шльшсть шахрайських вакансш бшьш шж на 50%.
Рис. 5. BidcomoK шахрайських вакансш на caümi у процеci вдосконалення
Висновки. В результат виконання дослщни-цького проекту на 0CH0Bi нейронних мереж вдалося розробити модель для виявлення шахрайських вакансш по тексту i3 точшстю (precision) 0.611. Ввд-повiдно до мониторингу наявносп шахрайських вакансш на сайтi Jooble, модель змогла виявити 6i-льше половини таких вакансш, але залишилися випадки, як вона не розпiзнаe. Подальше вдосконалення якосп класифшацп буде вщбуватися за раху-нок поступового розширення тренувального набору розмiчених вакансш. О^м представлених у статтi двох архитектур нейронних мереж, було проведено декшька експериментiв з варiацiями моделi Modell, але вiд подальших експериментiв у цьому напрямi ввдмовилися з таких причин:
1. Ускладнення архiтектури погiршувало шви-дкодiю. Базовий класифкатор Modell iдеально вкладаеться у лiмiт 100 мс.
2. Тренувальний i тестовий набори даних е дуже зашумленими - модератори, яш перевiряють розмiченi скам-детектором вакансп, часто помиля-ються, навiть незважаючи на наявнють спецiальних правил розмiтки, тому складно оцшити i порiвняти реальну якiсть роботи моделей. Як виявилося на
практиш, оцiнка на тестових даних та у виробни-чому середовищi може значно вiдрiзнятися.
3. Отримана точнiсть виявилася достатньою для комфортно! роботи модераторiв.
Отже, в процес дослвдження нами було розро-блено робочу модель машинного навчання (архгге-ктура modell), яка в комбшацп з iншими методами може вдало застосовуватися для пошуку та вида-лення шахрайських вакансiй.
Список л^ератури
1. Hassan A., Mahmood A., Efficient Deep Learning Model for Text Classification Based on Recurrent and Convolutional Layers // 2017 16th IEEE International Conference on Machine Learning and Applications (ICMLA)
2. Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space // In Proceedings of Workshop at ICLR. — 2013a.
3. Xiang Zhang, Junbo Zhao, Yann LeCun, Character-level Convolutional Networks for Text Classification // Advances in Neural Information Processing Systems 28 (NIPS 2015)