diff --git "a/resume_data_mining (1).ipynb" "b/resume_data_mining (1).ipynb" new file mode 100644--- /dev/null +++ "b/resume_data_mining (1).ipynb" @@ -0,0 +1,1511 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "BVWBYfomO97g", + "outputId": "03b8b3aa-32af-4404-8ce8-1b5ebe9f4cff" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Converted C:/Users/RGS/Downloads/Resume/Resume\\01338863-5969-4571-bc4d-5bde11c75f8e.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\01338863-5969-4571-bc4d-5bde11c75f8e.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\05624446-291c-45e2-ae36-8ad28c74faa5.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\05624446-291c-45e2-ae36-8ad28c74faa5.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\0e5e54d3-5161-4d23-a080-c6e64f24712c.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\0e5e54d3-5161-4d23-a080-c6e64f24712c.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\1.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\1.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\10.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\10.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\1075e8ba-385b-4dbf-9a65-03bc37cbadac.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\1075e8ba-385b-4dbf-9a65-03bc37cbadac.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\11.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\11.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\12.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\12.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\13.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\13.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\131c8eb5-def9-45f1-af52-8c6415d7627f.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\131c8eb5-def9-45f1-af52-8c6415d7627f.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\13334abd-835f-4c1f-b9d2-94f69592f843.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\13334abd-835f-4c1f-b9d2-94f69592f843.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\2.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\2.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\21de3b3c-c624-43ac-a2af-d452aa1417ae.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\21de3b3c-c624-43ac-a2af-d452aa1417ae.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\3.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\3.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\32fd5adc-32c2-4114-beae-1a007401986e.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\32fd5adc-32c2-4114-beae-1a007401986e.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\33b7ef7e-57f0-4732-8e96-1fed9bf3ef06.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\33b7ef7e-57f0-4732-8e96-1fed9bf3ef06.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\3d6e59d6-2531-47f5-8656-4c48f81cb597.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\3d6e59d6-2531-47f5-8656-4c48f81cb597.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\4.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\4.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\41867646-8738-483b-9531-e5c6bbfad863.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\41867646-8738-483b-9531-e5c6bbfad863.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\4b374e6b-0046-44ca-9243-aeff39027548.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\4b374e6b-0046-44ca-9243-aeff39027548.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\5.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\5.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\5d1cf1eb-3d3c-4b84-830f-cd652fef3438.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\5d1cf1eb-3d3c-4b84-830f-cd652fef3438.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\5ed08c5d-14c9-4f23-8861-64e36287b238.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\5ed08c5d-14c9-4f23-8861-64e36287b238.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\6.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\6.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\69324c2a-2395-4550-a31f-07bf6a8357d1.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\69324c2a-2395-4550-a31f-07bf6a8357d1.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\7.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\7.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\76a059e9-6b6c-4ef0-a631-53f371a92edf.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\76a059e9-6b6c-4ef0-a631-53f371a92edf.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\784347b1-9725-4dca-b68e-16082b2ce47e.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\784347b1-9725-4dca-b68e-16082b2ce47e.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\7f4bb172-89c9-46d2-ad02-2ada4c8aaa04.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\7f4bb172-89c9-46d2-ad02-2ada4c8aaa04.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\8.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\8.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\8acb3f34-4490-408c-81de-dd0fd8fb330e.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\8acb3f34-4490-408c-81de-dd0fd8fb330e.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\9.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\9.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\994a92d8-0fcf-4a05-949b-7b9d765a88f5.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\994a92d8-0fcf-4a05-949b-7b9d765a88f5.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\9ad79ad7-110e-4180-b4a6-1a362823a999.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\9ad79ad7-110e-4180-b4a6-1a362823a999.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\a599c435-5001-44cb-8c9d-acdc2fcd2f86.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\a599c435-5001-44cb-8c9d-acdc2fcd2f86.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\a770e59d-9096-4a73-82f3-60f248886187.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\a770e59d-9096-4a73-82f3-60f248886187.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\aa2e8440-f8f4-4249-bc27-a79fd8df33c4.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\aa2e8440-f8f4-4249-bc27-a79fd8df33c4.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\abe07969-1d0a-489b-9ded-b6be19d51827.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\abe07969-1d0a-489b-9ded-b6be19d51827.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\b4dfc691-e56c-4d54-84e0-638069f85831.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\b4dfc691-e56c-4d54-84e0-638069f85831.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ba68aee9-9bd1-4f6e-a84a-e52c6f154f1e.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ba68aee9-9bd1-4f6e-a84a-e52c6f154f1e.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\caafc824-838e-4ebf-8ff6-d60f763f8816.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\caafc824-838e-4ebf-8ff6-d60f763f8816.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\cad4acb2-466c-4030-8084-1fc38943a79d.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\cad4acb2-466c-4030-8084-1fc38943a79d.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\cd370be5-3ced-495d-bd81-e116ccf135f7.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\cd370be5-3ced-495d-bd81-e116ccf135f7.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\dcd4230c-9e6a-44cb-b82c-42a178cc42d3.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\dcd4230c-9e6a-44cb-b82c-42a178cc42d3.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\e52ab29f-9dfe-4c25-9c1b-d1fd6e9e140f.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\e52ab29f-9dfe-4c25-9c1b-d1fd6e9e140f.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\e6a7ba8b-a380-4c90-a54b-6cd84e91d01f.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\e6a7ba8b-a380-4c90-a54b-6cd84e91d01f.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ec1b035b-5196-4564-9f05-5c49d75633d0.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ec1b035b-5196-4564-9f05-5c49d75633d0.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ed20dbde-5f2e-456a-8215-cc6c6d2d0f04.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ed20dbde-5f2e-456a-8215-cc6c6d2d0f04.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ed906d11-847b-41df-8bbd-d99bec2d2c80.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ed906d11-847b-41df-8bbd-d99bec2d2c80.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ee037bc7-94e2-44b8-bac7-937658387e4a.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ee037bc7-94e2-44b8-bac7-937658387e4a.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\f01204b2-0a60-4a56-b44d-52cc2dd34016.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\f01204b2-0a60-4a56-b44d-52cc2dd34016.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\fc250a45-a406-4dbc-9833-cfaa04ac663d.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\fc250a45-a406-4dbc-9833-cfaa04ac663d.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-AQ-3773746.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-AQ-3773746.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-CD-8118715.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-CD-8118715.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-CM-8431554.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-CM-8431554.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-DE-9587698.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-DE-9587698.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-DE-9626658.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-DE-9626658.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-GM-1542621.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-GM-1542621.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-KD-5363914.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-KD-5363914.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-LF-5871629.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-LF-5871629.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-LL-9589379.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-LL-9589379.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-LS-8534619.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-LS-8534619.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-ML-7792712.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-ML-7792712.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-MQ-4842669.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-MQ-4842669.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-MS-2279428.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-MS-2279428.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-MS-7682171 (1).pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-MS-7682171 (1).txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-MS-7682171.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-MS-7682171.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-NN-7571431.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-NN-7571431.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-QA-8795847.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-QA-8795847.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-RF-2864647.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-RF-2864647.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-RG-7219791.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-RG-7219791.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-RJ-7582469.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-RJ-7582469.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-SC-1483764.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-SC-1483764.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-SD-4332487.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-SD-4332487.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-TB-4831231.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-TB-4831231.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-TT-9358668.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-TT-9358668.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-UZ-6344868.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-UZ-6344868.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-UZ-8922134.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-UZ-8922134.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-VB-7874475 (1).pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-VB-7874475 (1).txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-VB-7874475.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-VB-7874475.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-WX-1729483.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-WX-1729483.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-XV-7269626.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-XV-7269626.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\Jobinja-ZC-5668123.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\Jobinja-ZC-5668123.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ramin_rahimi_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ramin_rahimi_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ابوالفضل_یاریان_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ابوالفضل_یاریان_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\امید_ستونی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\امید_ستونی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\امیرحسین_سلیمانی نسب_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\امیرحسین_سلیمانی نسب_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\امیرحسین_شیرزاد_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\امیرحسین_شیرزاد_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\امین_مددی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\امین_مددی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\ایمان_کیانیان_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\ایمان_کیانیان_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\بتول_لکزائی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\بتول_لکزائی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\حامد صادق زاده.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\حامد صادق زاده.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\حمید_نودهی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\حمید_نودهی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\رومینا_حاجی زاده_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\رومینا_حاجی زاده_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\سید علیرضا_احمد انجوی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\سید علیرضا_احمد انجوی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\سینا_رسولی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\سینا_رسولی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\شهرام_مرادپور_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\شهرام_مرادپور_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\شهرزاد_رشیدی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\شهرزاد_رشیدی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\شیما_جلالی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\شیما_جلالی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\شیوا_رجبی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\شیوا_رجبی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\صحرا_نجفلو_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\صحرا_نجفلو_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\صدیقه_رجبی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\صدیقه_رجبی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\علی_اسکندریان_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\علی_اسکندریان_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\علی_امینی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\علی_امینی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\فاطمه_هوشنگی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\فاطمه_هوشنگی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\فرشاد_رحمتی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\فرشاد_رحمتی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مبین_ناظم_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مبین_ناظم_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\متین_ابوالقاسم رسولی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\متین_ابوالقاسم رسولی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مجتبی_دهقانی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مجتبی_دهقانی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مجید_حیدری_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مجید_حیدری_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محسن_درویشی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محسن_درویشی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محمد_جعفری صدر_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محمد_جعفری صدر_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محمد_حسین زاده آذر_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محمد_حسین زاده آذر_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محمد_خدمتی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محمد_خدمتی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محمد_نامجو_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محمد_نامجو_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\محمدرضا_اسماعیلی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\محمدرضا_اسماعیلی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مرضیه سادات_سجادی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مرضیه سادات_سجادی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مریم_نوری_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مریم_نوری_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مریم_پویان_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مریم_پویان_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مسعود_معصومی مقدم_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مسعود_معصومی مقدم_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\مهدی_شادابی پور_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\مهدی_شادابی پور_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\میترا_صفری نژادیان_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\میترا_صفری نژادیان_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\میلاد_اربابی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\میلاد_اربابی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\میلاد_وطن خواه قدیم_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\میلاد_وطن خواه قدیم_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\نرجس_محسنی پور_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\نرجس_محسنی پور_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\نوشین_وزین دل_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\نوشین_وزین دل_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\نگین_شفاف_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\نگین_شفاف_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\نیلوفر_قنبری عدیوی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\نیلوفر_قنبری عدیوی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\نیما_تمیزکار_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\نیما_تمیزکار_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\هانیه_رحمانی_Persian_Resume (1).pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\هانیه_رحمانی_Persian_Resume (1).txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\هانیه_رحمانی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\هانیه_رحمانی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\پارسا_کلاگر_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\پارسا_کلاگر_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\پریسا_خطیبی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\پریسا_خطیبی_Persian_Resume.txt\n", + "Converted C:/Users/RGS/Downloads/Resume/Resume\\کیوان_رستمی_Persian_Resume.pdf to C:/Users/RGS/Downloads/Resume/Resume_txt\\کیوان_رستمی_Persian_Resume.txt\n" + ] + } + ], + "source": [ + "import fitz # PyMuPDF\n", + "import os\n", + "import glob\n", + "def extract_text_from_pdf(pdf_path):\n", + " # باز کردن فایل PDF\n", + " document = fitz.open(pdf_path)\n", + " text = \"\"\n", + " # استخراج متن از هر صفحه\n", + " for page_num in range(len(document)):\n", + " page = document.load_page(page_num)\n", + " text += page.get_text()\n", + " return text\n", + "def convert_pdfs_in_folder_to_txt(pdf_folder, txt_folder):\n", + " # ایجاد فولدر مقصد در صورت عدم وجود\n", + " if not os.path.exists(txt_folder):\n", + " os.makedirs(txt_folder)\n", + " # پیدا کردن تمام فایل‌های PDF در فولدر ورودی\n", + " pdf_files = glob.glob(os.path.join(pdf_folder, \"*.pdf\"))\n", + " for pdf_file in pdf_files:\n", + " # استخراج نام فایل بدون پسوند\n", + " file_name = os.path.splitext(os.path.basename(pdf_file))[0]\n", + " # استخراج متن از فایل PDF\n", + " pdf_text = extract_text_from_pdf(pdf_file)\n", + " # مسیر فایل متنی مقصد\n", + " txt_file_path = os.path.join(txt_folder, f\"{file_name}.txt\")\n", + " # ذخیره متن در فایل متنی\n", + " with open(txt_file_path, \"w\", encoding=\"utf-8\") as txt_file:\n", + " txt_file.write(pdf_text)\n", + " print(f\"Converted {pdf_file} to {txt_file_path}\")\n", + "# مسیر فولدر فایل‌های PDF\n", + "pdf_folder = \"C:/Users/RGS/Downloads/Resume/Resume\"\n", + "# مسیر فولدر فایل‌های متنی\n", + "txt_folder = \"C:/Users/RGS/Downloads/Resume/Resume_txt\"\n", + "# تبدیل تمام فایل‌های PDF در فولدر به فایل‌های متنی\n", + "convert_pdfs_in_folder_to_txt(pdf_folder, txt_folder)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "FqrObh11O97j", + "outputId": "36d18d65-87c7-479a-f3b0-b1534990354d" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Separated words have been saved to the output Excel file.\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# مسیر فایل اکسل ورودی\n", + "input_file = 'F_education_output.xlsx'\n", + "# مسیر فایل اکسل خروجی\n", + "output_file = 'F_education_output.xlsx'\n", + "\n", + "# خواندن فایل اکسل\n", + "df = pd.read_excel(input_file)\n", + "df=df.dropna()\n", + "# لیستی برای ذخیره کلمات جداشده\n", + "separated_words = []\n", + "\n", + "# جدا کردن کلمات هر سطر و اضافه کردن به لیست\n", + "for row in df['Name']:\n", + " words = row.split()\n", + " separated_words.extend(words)\n", + "\n", + "# ایجاد DataFrame جدید از کلمات جداشده\n", + "new_df = pd.DataFrame(separated_words, columns=['Name'])\n", + "\n", + "# ذخیره DataFrame جدید به عنوان فایل اکسل\n", + "new_df.to_excel(output_file, index=False)\n", + "\n", + "print('Separated words have been saved to the output Excel file.')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "oX8H57oOO97k", + "outputId": "dec35e39-f6dc-43ec-cfcd-9032dc3f891c" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to\n", + "[nltk_data] C:\\Users\\RGS\\AppData\\Roaming\\nltk_data...\n", + "[nltk_data] Package stopwords is already up-to-date!\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import nltk\n", + "from nltk.corpus import stopwords\n", + "import re\n", + "\n", + "# دانلود stopwords\n", + "nltk.download('stopwords')\n", + "\n", + "# تعریف لیست کلمات توقف به فارسی\n", + "stop_words_farsi = ['و', 'برای', 'که', 'را', 'از', 'به', 'این', 'آن', 'در', 'با']\n", + "\n", + "# تابع پیش‌پردازش متن\n", + "def preprocess_text(text):\n", + " # حذف اعداد و علائم نگارشی\n", + " text = re.sub(r'\\d+', '', text)\n", + " text = re.sub(r'[^\\w\\s]', '', text)\n", + "\n", + " # تبدیل به حروف کوچک\n", + " text = text.lower()\n", + "\n", + " # حذف کلمات توقف\n", + " words = text.split()\n", + " words = [word for word in words if word not in stop_words_farsi]\n", + "\n", + " return ' '.join(words)\n", + "\n", + "# بارگذاری فایل اکسل\n", + "df = pd.read_excel('F_education_output.xlsx')\n", + "\n", + "# فرض می‌کنیم ستون متنی شما 'text' نام دارد\n", + "df['processed_text'] = df['Name'].apply(preprocess_text)\n", + "df=df .dropna()\n", + "# ذخیره خروجی به فایل اکسل جدید\n", + "df.to_excel('F_education_output_processed_excel_file.xlsx', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VOC3VkhEO97l", + "outputId": "50ac8a9d-2ada-4f1f-b511-059e7dade6a9" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to\n", + "[nltk_data] C:\\Users\\RGS\\AppData\\Roaming\\nltk_data...\n", + "[nltk_data] Package stopwords is already up-to-date!\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import nltk\n", + "from nltk.corpus import stopwords\n", + "import re\n", + "\n", + "# دانلود stopwords\n", + "nltk.download('stopwords')\n", + "\n", + "# تعریف لیست کلمات توقف به انگلیسی\n", + "stop_words_english = set(stopwords.words('english'))\n", + "\n", + "# تابع پیش‌پردازش متن\n", + "def preprocess_text(text):\n", + " # حذف اعداد و علائم نگارشی\n", + " text = re.sub(r'\\d+', '', text)\n", + " text = re.sub(r'[^\\w\\s]', '', text)\n", + "\n", + " # تبدیل به حروف کوچک\n", + " text = text.lower()\n", + "\n", + " # حذف کلمات توقف\n", + " words = text.split()\n", + " words = [word for word in words if word not in stop_words_english]\n", + "\n", + " return ' '.join(words)\n", + "\n", + "# بارگذاری فایل اکسل\n", + "df = pd.read_excel('F_education_output_processed_excel_file.xlsx')\n", + "\n", + "# فرض می‌کنیم ستون متنی شما 'text' نام دارد\n", + "df['processed_text'] = df['processed_text'].apply(preprocess_text)\n", + "df=df.dropna()\n", + "# ذخیره خروجی به فایل اکسل جدید\n", + "df.to_excel('F_education_output_processed_excel_file.xlsx', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "YUxte9YhO97l" + }, + "outputs": [], + "source": [ + "df = pd.read_excel('F_education_output_processed_excel_file.xlsx')\n", + "\n", + "# فرض می‌کنیم ستون متنی شما 'text' نام دارد\n", + "\n", + "df=df.dropna()\n", + "# ذخیره خروجی به فایل اکسل جدید\n", + "df.to_excel('F_education_output_processed_excel_file.xlsx', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zsBfyfKOO97l" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import re\n", + "\n", + "# خواندن فایل اکسل\n", + "df = pd.read_excel('your_file_with_sorted_words.xlsx', sheet_name='Sheet1') # نام فایل و شیت خود را جایگزین کنید\n", + "\n", + "# تابع برای جدا کردن و مرتب کردن کلمات انگلیسی و فارسی\n", + "def sort_english_persian(text):\n", + " if pd.isna(text):\n", + " return \"\", []\n", + " words = text.split()\n", + " english_words = [word for word in words if re.match(r'[A-Za-z]', word)]\n", + " persian_words = [word for word in words if re.match(r'[آ-ی]', word)]\n", + " sorted_words = english_words + persian_words\n", + " return ' '.join(sorted_words), sorted_words\n", + "\n", + "# اعمال تابع به ستون nm و ایجاد ستون جدید\n", + "df[['Sorted_Words', 'Sorted_List']] = df['tokens'].apply(lambda x: pd.Series(sort_english_persian(x)))\n", + "\n", + "# تابع برای مرتب‌سازی ستون eigd با استفاده از لیست مرتب‌شده\n", + "def sort_eigd(text, sorted_list):\n", + " if pd.isna(text) or not sorted_list:\n", + " return \"\"\n", + " words = text.split()\n", + " sorted_eigd = [words[sorted_list.index(word)] if word in sorted_list and sorted_list.index(word) < len(words) else \"\" for word in sorted_list]\n", + " return ' '.join(sorted_eigd)\n", + "\n", + "# اعمال تابع به ستون eigd و ایجاد ستون جدید\n", + "df['Sorted_eigd'] = df.apply(lambda row: sort_eigd(row['ner_tags'], row['Sorted_List']), axis=1)\n", + "\n", + "# حذف ستون Sorted_List موقت\n", + "df.drop(columns=['Sorted_List'], inplace=True)\n", + "\n", + "# ذخیره نتیجه در فایل جدید یا همان فایل\n", + "df.to_excel('your_file_with_sorted_words.xlsx', index=False) # نام فایل خروجی را جایگزین کنید" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Ow4Sx52uO97m", + "outputId": "18db4db7-bfc1-41f1-db25-55780e41f80f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs from Excel: ['Linux', 'Python', 'Machine Learning', 'Deep Learning', 'OpenCV', 'TensorFlow (Keras)', 'NumPy', 'Neural Networks', 'ScikitLearn', 'Git', 'ASP.Net Core', 'SOLID Principles', 'SQL Server', 'TSQL', 'HTML', 'CSS', 'jQuery', 'AJAX', 'GitHub', 'Web API', 'Microservices', 'React JS', 'JavaScript', 'Laravel', 'JS', 'Djangorest (DRF)', 'MySQL', 'Docker', 'Redis', 'HTMLCSSBootstrap', 'PHP (Laravel)', 'Django', 'DjangoRestFramework', 'PHP', 'Java', 'C', 'Webscraping', 'DevOps', 'SQL', 'Solidity', 'Data Analysis', 'Artificial Intelligence', 'Blockchain', 'PHP و Laravel', 'Bootstrap', 'jQuery و Vue.js', 'BackEnd Development', 'Machine Learning ', 'پایتون', 'دیتا ماینینگ', 'دیتا آنالیز', 'وب اسکرپینگ با پایتون', 'توانایی تحلیل و طراحی سیستم\\u200cهای نرم\\u200cافزاری', ' شبکه\\u200cهای عصبی برای تشخیص نفوذ', 'مباحث هوش مصنوعی', 'Nodejs', 'Expressjs', 'JWT', 'MongoDB', 'Sequelize', 'Mongoose', 'Grpc', 'Graphql', 'Mssql', 'Socketio', 'NestJs', 'Npm', 'Typeorm', 'Postgresql', 'PassportJS', 'UnitTest', 'Jest', 'Puppeteer', 'Dockercompose', 'Nginx', 'CI/CD', 'Bash Script', 'Crawler', 'React', 'Word ', 'Excel', 'توسعه وب', ' طراحی سایت', 'توانایی حل مسائل و تصمیم\\u200cگیری', 'محیط\\u200cهای مایکروسافت', 'ارتباطی بالا', ' لینوکس', 'TensorFlow', 'pandas', 'Keras', 'CNN', 'RNN', 'ANN', 'boltzman', 'autoencoders', 'SSD', 'matplotlib', 'sklearn', 'opencv الگوریتم\\u200cهای ', 'yolo', 'object detection', 'تحلیل و طراحی سیستم\\u200cهای کنترلی با PID controller', 'نرم\\u200cافزارهای Matlab', 'Maple', 'MSC Adams', 'CATIA', 'Microsoft Office', 'Arduino ', 'محاسبات ماتریسی توسعه\\u200cیافته و بازگشتی', 'دارای توسعه و طراحی وبسایت\\u200cهای ریسپانسیو و اندروید', 'توانایی تحلیل داده\\u200cها و ایجاد گزارش\\u200cهای تحلیلی', ' اداره و اجرای پروژه\\u200cهای IT', ' مدیریت اداری و ارتباط با مشتریان', 'ترجمه انگلیسی به فارسی', 'ویرایش متون', 'ترجمه انگلیسی', 'Microsoft Excel', 'Microsoft Word', 'ASP.NET Core (MVC', 'Razor', 'API', 'Layer architecture', 'Domain Driven Design', 'SQL Server (Code First)', 'Unit Testing ', 'LINQ', 'HTML5', 'CSS3', 'C#', 'ASP.NET MVC', 'SQL ', 'LINQ & EF', 'OOP', ' انگلیسی', ': Flutter', 'Dart', 'شی گرایی (OOP)', 'طراحی UI اپلیکیشن', 'Firebase', 'State Management', 'Notification', 'UI Design', 'UX Research', 'UX Design', 'Wireframing', 'Responsive Design', 'طراحی UI', 'طراحی با فتوشاپ', 'نویس وردپرس', 'بهینه\\u200cسازی SEO', 'Fullstack', 'MCU', 'IoT', 'مدیریت پایگاه داده MySQL', 'C++', 'Vue', 'کار با API\\u200cهای مبتنی بر RESTful', 'Django DRF', 'Clean code', 'Database Management', 'ReactJS', 'RESTful API Development', 'معماری MVC در PHP', 'مدیریت نسخه با Git', 'طراحی و پیاده\\u200cسازی RESTful APIs', 'مدیریت سرورهای Linux', 'WHMCS ', 'استفاده از Bootstrap برای طراحی رابط کاربری', 'سیستم\\u200cهای مدیریت محتوا', 'Java ', 'سیستم\\u200cهای لینوکس', 'توانایی ارتباط موثر و همکاری در تیم', 'Python ', 'Machine Learning:', 'Deep Learning:', 'Computer Vision With OpenCV In Python', 'Front End:', 'Django:', 'طراحی و اجرای تست\\u200cهای استفاده\\u200cپذیری و A/B Testing', 'طراحی وب\\u200cسایت و اپلیکیشن\\u200cهای موبایل با رویکرد UI/UX', 'مشارکت در توسعه Design System و ایجاد User Persona و User Flow', 'طراحی و اجرای آزمون\\u200cهای Accessibility', 'طراحی و بهبود رابط کاربری و تجربه کاربری وب\\u200cسایت و اپلیکیشن\\u200cهای موبایل از سال 1400 تا 1401', 'مشارکت در توسعه User Interface و User Experience', 'توانایی مدیریت و هماهنگی', 'روابط عمومی', 'توانایی آموزش و انتقال دانش', 'تفکر استراتژیک', 'توانمندسازی مدیران و کارشناسان (تفکر سیستمی', 'مدیریت زمان', 'هوش هیجانی', 'مدلسازی فرآیند براساس استاندارد BPMN', 'مدیریت فرآیندهای کسب و کار BPM', 'mini MBA', 'ارزیابی بلوغ فرآیندهای کسب و کار', 'Crisis Management', 'تعالی سازمانی براساس چارچوب EFQM', 'فن بیان و سخنوری', 'استاندارد سیستم مدیریت کیفیت ISO9001:2015', 'Visual Paradigm', 'Microsoft Office (Word', 'PowerPoint', 'Visio)', 'iGrafx Process', 'Photoshop', 'Backend Web Developer Freelance', 'علم داده (Data Science)', 'طراحی گرافیکی (Illustrator و Photoshop)', 'تحقیق و توسعه (R&D)', 'DRF (Django Rest Framework)', 'OOP (ObjectOriented Programming)', 'Flask', 'TDD (TestDriven Development)', 'Selenium', 'HTML & CSS', 'BeautifulSoup', 'Tkinter', 'Git & Github', 'Algorithm Development', 'Natural Language Processing', 'Computer Vision', 'Matlab', 'Problem Solving', 'Team Working', 'Self Study', 'Research', 'پردازش', 'تحلیل و ویزیولایز کردن داده\\u200cها', 'ابزارهای تحلیل داده و یادگیری ماشین', 'قابلیت کار تیمی و حل مسائل تحلیلی', 'تحصیلات در رشته مهندسی کامپیوتر', 'Labview', 'استفاده از Excel', 'Word', 'SIMATIC Manager S7', 'Phyton', 'Wordpress', 'تحلیل داده', 'مدیریت داده', 'آموزش و مشاوره', 'مدیریت پروژه', 'الگوریتم\\u200cهای SVM', 'KNN', 'DBSCAN', 'Python و پایگاه\\u200cداده\\u200cها', 'مفاهیم یادگیری ماشینی و شبکه\\u200cهای عصبی', ' JavaScript', ' C# ', 'Premiere پروژه\\u200cهای وب', 'توانایی حل مسائل و تصمیم\\u200cگیری منطقی', 'ارتباط برقراری موثر و همکاری با تیم', 'دقت و دقت در انجام وظایف', 'توانایی کار تحت فشار و در شرایط مختلف', 'مدیریت زمان و برنامه\\u200cریزی', 'HTML و CSS', 'توانایی کدنویسی در PHP', 'طراحی و گرافیک', 'ElectronJs', 'NextJS', 'Research and Development', 'Tailwind CSS', 'Sass', 'و اداره شبکه\\u200cهای مخابراتی و ADSL', 'Adobe Photoshop و WordPress', 'SEO و SQL', 'توانایی با HTML', 'Python و Data Science', 'Monitoring', 'Mikrotik و Cisco', 'طراحی UI/UX', 'W3.CSS', 'طراحی وب\\u200cسایت', 'مدیریت سیستم\\u200cهای وب', 'Internet of Things', 'Data Mining', 'HumanComputer Interaction', 'Web design', 'شارپ و پایتون', 'پایگاه داده\\u200cهای SQL', 'ارتباطی و تیمی', 'Data Science', ' مدیریت پروژه', 'تحلیل و برنامه\\u200cریزی شهری', 'مهندسی نرم\\u200cافزار', 'ارتباطات بین فردی و تیمی', 'نرم\\u200cافزارهای اتوکد', 'جنگو', ' اجرای پروژه\\u200cهای اطلاعاتی', 'توانایی ارتباط برقراری با مشتریان و تیم\\u200cهای مختلف', 'AIMachine Learning', 'Web Scraping', 'JSON', 'SQLSERVER', 'Django Rest', 'ردیابی و تحلیل داده\\u200cها', 'توسعه\\u200cدهنده نرم\\u200cافزار', 'تحقیق و توسعه در زمینه هوش مصنوعی', 'پردازش طبیعی', 'Pytorch', 'Transfer Learning', 'Speech Emotion Recognition', 'Transformers', 'SelfSupervised Learning', 'خوب ارتباطی و تیمی', ' حوزه مهندسی صنایع', 'تحلیل داده\\u200cها', 'نرم\\u200cافزارهای آفیس', 'ورد و اکسل', 'توانایی تحلیل داده و تولید محتوا', 'تحقیق و توسعه', ' ایجاد محتواهای جذاب و ارت', 'تجربه\\u200cی کاری در تحلیل داده و پردازش تصویر', 'طراحی و پیاده\\u200cسازی الگوریتم\\u200cهای هوش مصنوعی ', 'IBM Spss', 'مفاهیم Deep Learning و شبکه\\u200cهای عصبی', 'پردازش تصویر و افزایش کارایی الگوریتم\\u200cهای یادگیری ماشین', 'توسعه وب با Javascript و HTML5/CSS', 'طراحی رابط کاربری', 'Bootstrap و Tailwind.css', ' پایتون', 'جاوا', 'جاوا اسکریپت', 'TypeScript', ' Express.js', 'Nest.js', ' MongoDB', 'مفاهیم ابتدایی یادگیری ماشین', 'آلمانی', 'مهارت\\u200cهای کلامی و نوشتاری', 'مهارت\\u200cهای شنیداری', 'اکسل به صورت پیشرفته', 'بهینه\\u200cسازی موتورهای جستجو (SEO)', 'Rstudio', 'Power Point', 'SPSS', 'متخصص تحلیل داده و علم داده', 'تحلیل و پردازش داده\\u200cهای بزرگ', 'توانایی ارائه راه\\u200cحل\\u200cهای بهینه برای مسائل داده\\u200cمحور', 'شبکه\\u200cهای عصبی و یادگیری عمیق', 'کتابخانه\\u200cهای محبوب مانند pandas', 'matplotlib و seaborn', ' transfer learning ', 'توانایی ارتباط موثر و همکاری در تیم\\u200cهای چندجانبه', 'توسعه Backend', 'REST API', 'Web3.js و Ethers.js', 'پردازش طبیعی (NLP)', 'تحلیل داده و تجارت هوشمند', 'آمار و احتمال', 'Keras و PyTorch', 'مونتاژ و پردازش صوتی', 'فیلمبرداری', 'و طراحی نرم\\u200cافزار', 'توانایی تحلیل و کارآمد در شرایط تنش', 'تجاری و نوآورانه', 'توسعه و طراحی وب و نرم\\u200cافزار', 'مفاهیم روز دنیای فناوری اطلاعات', 'توانایی تحلیل و حل مسائل', 'توانایی مدیریت زمان و تحمل فشار', 'از متن استخراج شده عبارتند از:', 'توانایی تحلیل داده\\u200cها', 'مدیریت و توسعه کسب و کار', 'تبلیغات آنلاین و دیجیتال', 'توانایی تحلیل و تحقیق', 'توانایی توسعه وبسایت با Wordpress', ' Google AdWords و SEO/SEM', 'Gitlab', 'طراحی و کسب و کار دیجیتال', ' تحلیل داده\\u200cها و بهینه\\u200cسازی سایت\\u200cها', 'Google AdWords', ' بهینه\\u200cسازی سایت\\u200cها برای موتورهای جستجو', 'Google Analytics', 'توانایی تحقیق و تحلیل', 'توسعه کسب و کار آنلاین', 'من شامل توسعه با Django', 'LSTM', 'Image Processing', 'IBM SPSS Statistics', 'Knime', 'Seaborn', 'ابزارهای طراحی گرافیکی از جمله Adobe Photoshop', 'ASP.Net', 'Html & CSS ', 'Android Studio', '#C', 'Java و دیگر ابزارهای توسعه نرم\\u200cافزار', 'نرم\\u200cافزارهای اداری', 'Microsoft One Note', 'Adobe Photoshop', 'Google Tag Manager', 'Google Search Console', 'Semrush', 'ابزارهای تحلیلی Ahrefs و Keywordtool', 'Oracle BI', 'MIPS Assembly', 'Xilinx ISE و Wireshark', 'Cisco PacketTracer و Proteus', 'ICDL و Visio', 'دارای توسعه\\u200cی Cisco PacketTracer و سیستم\\u200cهای مبتنی بر داده', ': C#', '.NET', 'Android SDK', 'توسعه وب: ASP.Net', 'سیستم عامل\\u200cها: Linux', 'ابزارها و فریمورک\\u200cها: OpenCV', '.NET Core', 'Microsoft Access', 'Microsoft Visual Studio', 'Adobe Illustrator', 'Sql Server و MySql', '#C و Wireshark', ' Adobe Photoshop و Wordpress', 'Linux و Tableau', 'مدیریت پایگاه داده\\u200cها', 'اکسل', 'تجزیه و تحلیل داده\\u200cها', 'استفاده از OpenCV', 'توسعه با Keras', 'سیستم\\u200cعامل Linux', ' Python', 'Kotlin', ' Django', 'Unit Testing', 'Redis و Docker', 'Git و Linux', 'RestFul API', 'Agile Scrum', 'AI', 'Python Developer', 'Embedded C', 'Spark', 'Wireshark', 'Orcad', 'طراحی وب', 'توسعه نرم\\u200cافزار', 'توانایی با ASP.Net', 'Java SE', 'Net Core / .Net', 'Eclipse', 'اندروید', 'Java و Python', 'Microsoft Word و Microsoft Visual Studio', 'Microsoft Project', 'Microsoft Visio', 'Microsoft Powerpoint', 'Microsoft SQL Server', 'گراف نورال نتورک\\u200cها', 'Recommendation Systems', 'نرم افزارهای Microsoft Powerpoint', 'تحلیل داده\\u200cهای مکانیکی', 'مدلسازی فرآیندهای صنعتی', 'در Python و MATLAB', 'مدیریت پروژه\\u200cهای داده\\u200cمحور', 'Machine Learning در امور مالی', ': ASP.NET Core و C#', 'تجربه کاری در حوزه اطلاعات و فناوری اطلاعات', 'دارای تحلیل داده و هوش مصنوعی', 'متخصص در زمینه\\u200cی data science و تحلیل پیشرفته داده', ' توسعه\\u200cی مدل\\u200cهای Machine Learning و Deep Learning', 'Machine vision', 'Reinforcement learning', 'توانایی توسعه و پشتیبانی سیستم\\u200cهای معماری', 'و انگیزه\\u200cدهنده\\u200cهای طبیعی', 'طراحی و پیاده\\u200cسازی پردازش و تصویربرداری ماشینی', 'ارزیابی و بهبود عملکرد سیستم\\u200cهای پردازش داده و یادگیری ماشین', 'توسعه و بهبود فرآیندهای تجاری با Camunda', 'Java Spring Boot', 'Microsoft Visual C# .NET', 'Keras Tensorflow', 'Go Language (Golang)', 'Angular', 'Maplesoft Maple', 'مدیریت و پیاده\\u200cسازی ارتباطات شبکه و تجهیزات مرتبط', 'ابزارهای توسعه نرم\\u200cافزار مانند Git و JIRA', 'ارتقاء و بهینه\\u200cسازی سیستم\\u200cهای اطلاعاتی و فناوری اطلاعات', 'Woocommerce', '**تحلیل و روش\\u200cهای پژوهشی', 'مدیریت و توسعه سازمانی', 'طراحی و توسعه اپلیکیشن\\u200cهای ویندوز با WPF و DevExpress UI Component', 'آنالیز داده\\u200cهای بزرگ با Apache Spark', 'توسعه ابزارهای موردنیاز برای آنالیز داده و یادگیری ماشین', ': Python', 'فریمورک\\u200cها: Django', 'پایگاه داده: MySQL', 'ابزارها: Git', 'تکنولوژی\\u200cها: REST API', 'Node.js', 'مورد استفاده: HTML', 'اجرای و اداره پروژه\\u200cها', ' مدیریت تیم\\u200cها', 'Machine Learning Engineer', 'AI Expert', 'detectron2', 'مدل\\u200cهای شبکه عصبی و تصویربرداری', 'yolact', 'u2net', 'تجربه کاری در مهندسی نرم\\u200cافزار و توسعه وب', 'ERP', 'Access', 'Delphi', ' OpenCV', 'توانایی ارتباط برقرار کردن با افراد مختلف', 'UI/UX Design', 'Figma', 'متخصص IT و اطلاعاتی با تمرکز بر فناوری ارتباط��ت', 'مانند Python و C', 'تجربه کاری در شرکت\\u200cهای معتبر مانند TVConal و NATIX', 'ابزارهای مختلف مانند TensorFlow', 'OpenCV و', 'تکنولوژی\\u200cهای Deep Learning و Neural Networks', 'طراحی وب سایت با HTML', 'فنون SEO و بهبود رتبه سایت در موتورهای جستجو', 'Wordpress و Python', 'مدیریت GIT و کنترل نسخه', ': MATLAB', 'Julia', 'کتابخانه\\u200cها: Numpy', 'تعمیرات و نگهداری تجهیزات IT', 'مدیریت و حل مشکلات سخت\\u200cافزاری و نرم\\u200cافزاری', 'شبکه\\u200cهای کامپیوتری و امنیت اطلاعات', 'Node.js و Python', ' تشخیص و ضبط صدا با Tensorflow', 'طراحی و پیاده\\u200cسازی مدل\\u200cهای شبکه\\u200cهای عصبی', 'AI/ML', 'RESTful API Kubernetes یادگیری ماشین', 'Data Visualization', 'Feature Engineering', 'Time Series', 'Trello', 'تحلیل\\u200cهای مختلف در حوزه مهندسی راداری', 'طراحی مدل\\u200cهای جدید برای تشخیص هدف در تصاویر SAR', 'مشارکت در پروژه\\u200cهای مختلف مرتبط با پردازش تصاویر راداری', 'مسئولیت\\u200cهای مختلف در تیم\\u200cهای تحقیقاتی', 'R', 'Tableau', 'PowerBI', 'Pascal', ' Microsoft Outlook', 'Visio', 'Visual Studio', ' Windows Server', 'Mac OS', ' CCNA', 'CCNP', 'MCSA', ' PowerBI', 'SSIS', 'تحلیل داده و مدیریت داده', 'مهندسی داده و مدیریت پروژه', 'React Native', 'Visual Basic', 'Next.js', 'iOS با تجربه\\u200cی 4.5 سال', 'Swift و ObjectiveC', 'توانایی توسعه و مدیریت پروژه\\u200cهای مختلف', 'طراحی و توسعه\\u200cی REST API', 'Xcode و Android Studio', 'Adobe Illustrator و Photoshop', 'Linux و Microsoft Visual Studio', 'Swift', 'Java و C', 'پایگاه داده: SQL Server', 'Oracle Database', 'اداری: Microsoft Office (Word', 'Outlook)', 'دیگر: Oracle Form & Report', 'مختلف از جمله Python', 'پایگاه\\u200cهای داده از جمله MySQL و SQL Server', 'تواناییها با HTML', 'و JavaScript', 'طراحی و توسعه وب', 'مختلف از جمله Python و C', 'تحلیل داده و ابزارهای مرتبط', 'امنیت اطلاعات و مدیریت شبکه', 'توسعه\\u200cدهنده وب', 'مدیریت دیجیتال', 'طراحی گرافیک', 'تشخیص اشیاء', 'نرم\\u200cافزارهای مهندسی نفتی از جمله Microsoft Visio', 'Microsoft Outlook', 'Petrel', 'Pipesim', 'MathType', 'CMG', 'Eclips', 'TensorFlow و Scikitlearn', 'مدیریت برنامه\\u200cها و هماهنگی', '+Network', 'DHCP', 'DNS Settings']\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs found in text 1: ['HTML', 'CSS', 'JavaScript', 'JS', 'Java', 'C', 'React', 'Word ', 'توسعه وب', 'Microsoft Word', 'Vue', 'Photoshop', 'Word', ' JavaScript', 'مهندسی نرم\\u200cافزار', 'TypeScript', 'Adobe Photoshop', 'Node.js', 'R', 'Next.js', 'توسعه\\u200cدهنده وب', 'مدیریت دیجیتال', 'طراحی گرافیک']\n", + "Jobs found in text 2: ['NumPy', 'Git', 'GitHub', 'C', 'پایتون', 'TensorFlow', 'pandas', 'matplotlib', 'sklearn', ' انگلیسی', 'Data Mining', 'Pytorch', ' پایتون', 'AI', 'R']\n", + "The similarity score between the two texts is: 25\n", + "Common jobs: R, C\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import re\n", + "\n", + "def read_jobs_from_excel(file_path):\n", + " df = pd.read_excel(file_path)\n", + " jobs = df['skill'].astype(str).tolist() # تبدیل همه مقادیر به رشته\n", + " return jobs\n", + "\n", + "def extract_jobs_in_text(text, jobs):\n", + " # استخراج شغل‌هایی که در متن وجود دارند\n", + " found_jobs = [job for job in jobs if job.lower() in text.lower()]\n", + " return found_jobs\n", + "\n", + "def compare_jobs(jobs_1, jobs_2):\n", + " common_jobs = set(jobs_1).intersection(set(jobs_2))\n", + " num_common = len(common_jobs)\n", + "\n", + " if num_common >=10:\n", + " score = 100\n", + " elif num_common == 7:\n", + " score = 75\n", + " elif num_common == 5:\n", + " score = 50\n", + " else:\n", + " score = 25\n", + "\n", + " return score, common_jobs\n", + "\n", + "def main():\n", + " # مسیر فایل اکسل را وارد کنید\n", + " excel_file_path = 'N_F_skill_output.xlsx'\n", + "\n", + " # خواندن شغل‌ها از فایل اکسل\n", + " jobs = read_jobs_from_excel(excel_file_path)\n", + " print(\"Jobs from Excel:\", jobs)\n", + "\n", + " # گرفتن ورودی متن‌ها از کاربر\n", + " input_text_1 = input(\"Enter first text: \")\n", + " input_text_2 = input(\"Enter second text: \")\n", + "\n", + " # استخراج شغل‌ها از متن‌ها\n", + " jobs_in_text_1 = extract_jobs_in_text(input_text_1, jobs)\n", + " jobs_in_text_2 = extract_jobs_in_text(input_text_2, jobs)\n", + "\n", + " print(f\"Jobs found in text 1: {jobs_in_text_1}\")\n", + " print(f\"Jobs found in text 2: {jobs_in_text_2}\")\n", + "\n", + " # مقایسه و نمره‌دهی\n", + " score, common_jobs = compare_jobs(jobs_in_text_1, jobs_in_text_2)\n", + " print(f\"The similarity score between the two texts is: {score}\")\n", + "\n", + " # نمایش شغل‌های مشترک\n", + " print(f\"Common jobs: {', '.join(common_jobs)}\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "lZwvp3UMO97n", + "outputId": "2bc34ea3-b46b-499f-b5e9-01d9eccdc40c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs from Excel: [' FrontEnd برنامه نویس', ' کارشناس شبکه', ' کارشناس HelpDesk', ' طراح وب سایت وردپرسی', ' مهندس نرم\\u200cافزار', ' مدیر واحد خرید', ' کارشناس واحد خرید', ' کارشناس صادرات', 'توسعه دهنده وب', ' توسعه دهنده وب', ' Backend Developer', ' FullStack Developer', ' توسعه\\u200cدهنده Backend', ' Junior BackEnd Developer', ' Technical Support', ' طراح و توسعه دهنده وب\\u200cسایت', ' برنامه\\u200cنویس PHP و Laravel', ' تدریس برنامه\\u200cنویسی', ' همکاری با سایت استاد', ' همکاری با کارفرمایان', 'کارشناسی مهندسی کامپیوترنرم\\u200cافزار', ' کارشناسی ارشد مهندسی کامپیوترهوش مصنوعی', 'توسعه\\u200cدهنده نرم\\u200cافزار', ' طراح و مدیر پروژه', ' توسعه دهنده نرم\\u200cافزار', ' مدیریت پروژه', ' مشاور فنی', ' طراح وبسایت', ' دیتا ساینتیست', ' مسئول امور اداری در شرکت کامپیوتری', ' طراح و توسعه دهنده وب', ' مهندسی برق', ' محقق در حوزه زیست\\u200cشناسی و تحلیل داده\\u200cها', ' کارشناس داروخانه ', ' حق\\u200cالتدریس زبان انگلیسی', ' UI/UX Designer', ' مدیریت انبار', ' مشاور تحصیلی', ' طراح محصول', ' آموزشگر ICDL', ' رئیس دفتر امور عمومی', ' نویس تحت وب', ' برنامه نویس وردپرس', ' طراح وب', ' Front End Developer', ' مسئول توسعه وب', ' توسعه دهنده وب و نرم\\u200cافزار', ' طراحی و پیاده\\u200cسازی سیستم\\u200cهای مدیریتی', ' مشارکت در پروژه\\u200cهای مختلف وب', ' Data Scientist', ' مسئول UI/UX ', ' مسئول UI/UX در شرکت روزنامه دنیای اقتصاد', ' مدیریت و توسعه کسب و کار', ' مشاوره و راهنمایی شغلی', ' آموزش و تربیت', ' اجرای دوره\\u200cهای آموزشی', ' مدیریت روابط عمومی', ' تدریس در دانشگاه', ' Backend Web Developer Freelance', ' کارشناس تحقیق و توسعه', ' گرافیست', ' Python/Django Developer', ' AI Engineer', 'متخصص هوش مصنوعی و پردازش تصویر', ' متخصص تحلیل داده', ' برنامه نویس اندروید', ' آموزشگری آموزش\\u200cهای مدرک دار', ' تعمیرات و نگهداری', ' متخصص و مدرس در حوزه آموزش و مشاوره مهارت\\u200cهای IT', ' مدیریت و توسعه وب سایت', ' توسعه دهنده داده\\u200cهای آزاد', ' متخصص و مدرس در دوره\\u200cهای آموزشی مرتبط با تحلیل داده', ' توسعه\\u200cدهنده وب', ' طراح و توسعه\\u200cدهنده برنامه\\u200cهای موبایل', ' معلم در دبیرستان', ' فریلنسر در حوزه طراحی وبسایت', ' مدرس ریاضیات در دوره WROSenior', ' مشاور آموزشی', ' مدیریت شبکه و ADSL', ' IT و شبکه\\u200cهای ارتباطی', ' طراحی و توسعه وب\\u200cسایت\\u200cها', ' کارآموزی HTML و CSS', ' تیم توسعه نرم\\u200cافزارهای مختلف', ' محقق دانشگاه تهران', ' مهندس داده', ' مدیر پروژه', ' مهندس مشاوری', ' مسئول دفتر فنی', ' مهندسی فناوری اطلاعات', 'توسعه دهنده نرم\\u200cافزار', ' توسعه\\u200cدهنده نرم\\u200cافزار', ' منشی', ' مدیریت اداری', ' مدیریت و برقراری ارتباط با تیم\\u200cهای مختلف', ' تحلیل و توسعه پروژه\\u200cهای متنوع', ' تجربه در حوزه مهندسی صنایع', ' مدیریت و نگهداری سایت', ' تحقیق و تحلیل مخاطبان هدف', ' بهینه\\u200cسازی محتوای وبسایت', ' تحقیق و توسعه در حوزه\\u200cهای مختلف مهندسی کامپیوتر و فناوری اطلاعات', ' برنامه\\u200cنویس و متخصص در حوزه\\u200cی تصویرپردازی', 'شغل: مهندسی کامپیوتر', ' دیجیتال مارکتینگ', ' متخصص تحلیل داده و علم داده', ' طراحی و پیاده\\u200cسازی REST API', ' توسعه و اجرای پروژه\\u200cهای وب', ' توانایی طراحی UI/UX', ' مسلط به مدیریت دیتابیس\\u200cها', ' تحلیل و پردازش داده ', ' توسعه مدل\\u200cهای یادگیری عمیق', ' کارشناس مهندسی کامپیوتر و مهندسی نرم\\u200cافزار', ' برنامه\\u200cنویس ارشد', ' مشاور حرفه\\u200cای', ' مدیریت و توسعه سیستم\\u200cهای اطلاعاتی', ' Junior Django Developer', ' Junior Developer', ' طراحی و کسب و کار دیجیتال ', ' Google AdWords ', ' بهینه\\u200cسازی سایت\\u200cها برای موتورهای جستجو ', ' توسعه وبسایت با Wordpress ', ' Google Analytics ', ' توسعه کسب و کار آنلاین', ' مشاور روانشناسی و مشاوره', ' مدیریت مشتریان و صادرات', ' Teacher Assistant', ' متخصص وب اسکرپینگ', 'شغل: توسعه\\u200cدهنده نرم\\u200cافزار', ' مشاور امور اداری و مالی', ' مدیریت', ' طراحی محتوا و تدریس', ' Data Analyst', ' کارشناس ارشد', ' مشاور فنی دانشگاه صنعتی شریف', ' مشاور فنی داده\\u200cهای فرآیندی', ' مسئول فروش و بازاریابی', ' محقق', ' متخصص اندروید', ' آموزش دوره\\u200cهای مرتبط با مهندسی نرم\\u200cافزار', ' پروژه\\u200cهای فریلنسینگ در زمینه\\u200cی توسعه\\u200cی نرم\\u200cافزار', ' برنامه\\u200cنویسی: Python، C، Django', ' Python Developer', ' کارشناس فنی در شرکت IT افزاری', ' کارشناس برنامه\\u200cنویسی در شرکت مشاوره\\u200cی IT', ' مدیریت مهندسی دانش', ' رزومه رسانی', ' کاریابی و مدیریت منابع انسانی', ' مشاور فنی در شرکت Tensurf برای تحلیل داده\\u200cهای مکانیکی و کارشناسی فرآیند', ' مشاور فنی در حوزه سیستم\\u200cهای اطلاعاتی', ' مسلط به ASP.NET Core و C#', ' توانایی طراحی و توسعه وب\\u200cسایت\\u200cها', ' مشارکت در تیم\\u200cهای توسعه نرم\\u200cافزار', ' داده\\u200cانالیست', ' متخصص هوش مصنوعی', ' توسعه و پشتیبانی سیستم\\u200cها', ' تحلیل داده', ' طراحی و پیاده\\u200cسازی ماشینی', ' توسعه و بهبود فرآیندهای تجاری', ' مدیریت و پیاده\\u200cسازی ارتباطات شبکه', ' تجربه کار با ابزارهای توسعه نرم\\u200cافزار', ' مدرس آموزش Python', ' توسعه دهنده نرم\\u200cافزار مبتنی بر وب', ' فعالیت در حوزه آموزش و مشاوره', ' مدیر شرکت فناوری و الکترونیک', ' کارشناس ارشد امور دانشگاهی', ' کارشناس ارشد روابط عمومی و بازاریابی', ' Golang Developer', ' C# Developer', ' توسعه\\u200cدهنده نرم\\u200cافزار در شرکت فرابین', ' تحلیلگر و توسعه دهنده نرم\\u200cافزار', ' کاریابی دانشگاه', ' فردی متخصص دانشگاه', ' تولید محتوا و آموزش', ' توسعه دهنده نرم\\u200cافزار شرکت در نویس', ' تحلیل داده و پردازش آن', ' مارکتینگ دیجیتال', ' مدیریت روابط مشتریان', ' متخصص IT و اطلاعاتی', ' مدرس دوره\\u200cهای آموزشی', ' تجربه کاری در حوزه\\u200cهای تحلیل داده\\u200cهای اکتشافی', ' IT Help Desk', ' مهندس محاسبات', ' توسعه\\u200cدهنده AI/ML', ' تحلیل\\u200cگر', ' Junior Machine Learning Engineer ', ' Web Admin and Machine Learning Assistant ', ' IT Manager', ' مهندس راداری', ' مهندسی ارتباطات', ' تحلیل\\u200cگر داده', ' مشاور تحلیل داده', ' توسعه\\u200cدهنده هوش مصنوعی', ' FrontEnd Developer', ' برنامه\\u200cنویس iOS', ' توسعه دهنده نرم\\u200cافزار آزاد', ' مهندسی محاسبات', ' توسعه و طراحی نرم\\u200cافزارها', ' مشاور ارشد', ' توسعه\\u200cدهنده وب', 'مدیریت دیجیتال', ' طراحی گرافیک', 'مهندسی نفت', ' مهندس نرم\\u200cافزار و متخصص ارتباط انسان و ماشین', 'کارآموز هوش مصنوعی ', 'کاراموز هوش مصنوعی ', 'کارآموز هوش مصنوعی']\n", + "Jobs found in fixed text: ['کارآموز هوش مصنوعی']\n", + "Jobs found in input text: ['مدیریت دیجیتال', 'مدیریت', 'طراحی گرافیک', 'متخصص هوش مصنوعی']\n", + "The similarity score between the fixed text and your text is: 50\n", + "Common jobs: کارآموز هوش مصنوعی - متخصص هوش مصنوعی\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import re\n", + "from difflib import SequenceMatcher\n", + "\n", + "def read_jobs_from_excel(file_path):\n", + " df = pd.read_excel(file_path)\n", + " jobs = df['job'].astype(str).tolist() # تبدیل همه مقادیر به رشته\n", + " return jobs\n", + "\n", + "def preprocess_text(text):\n", + " # حذف کاراکترهای غیرضروری و نرمال‌سازی متن\n", + " text = text.replace('\\u200c', ' ').strip() # حذف نیم‌فاصله و فاصله‌های اضافی\n", + " text = re.sub(r'\\s+', ' ', text) # حذف فاصله‌های تکراری\n", + " return text\n", + "\n", + "def extract_jobs_in_text(text, jobs):\n", + " text = preprocess_text(text)\n", + " found_jobs = set() # استفاده از مجموعه برای جلوگیری از تکرار شغل‌ها\n", + " for job in jobs:\n", + " job_normalized = preprocess_text(job)\n", + " if job_normalized.lower() in text.lower():\n", + " found_jobs.add(job_normalized)\n", + " return list(found_jobs)\n", + "\n", + "def word_similarity(word1, word2):\n", + " return SequenceMatcher(None, word1, word2).ratio()\n", + "\n", + "def compare_jobs(jobs_1, jobs_2):\n", + " common_jobs = set()\n", + " for job1 in jobs_1:\n", + " for job2 in jobs_2:\n", + " words1 = set(job1.lower().split())\n", + " words2 = set(job2.lower().split())\n", + " common_words = words1.intersection(words2)\n", + " num_common = len(common_words)\n", + "\n", + " if num_common >= 3:\n", + " common_jobs.add((job1, job2))\n", + " score = 100\n", + " elif num_common == 2:\n", + " common_jobs.add((job1, job2))\n", + " score = 75\n", + " elif num_common == 1:\n", + " common_jobs.add((job1, job2))\n", + " score = 50\n", + " else:\n", + " score = 0\n", + "\n", + " return score, common_jobs\n", + "\n", + "def main():\n", + " # مسیر فایل اکسل را وارد کنید\n", + " excel_file_path = 'jobs_output.xlsx'\n", + "\n", + " # خواندن شغل‌ها از فایل اکسل\n", + " jobs = read_jobs_from_excel(excel_file_path)\n", + " print(\"Jobs from Excel:\", jobs)\n", + "\n", + " # متن ثابت\n", + " fixed_text = \"\"\"استخدام کارآموز هوش مصنوعی (AI-شیراز)\n", + "\"\"\"\n", + "\n", + " # گرفتن ورودی متن از کاربر\n", + " input_text = input(\"لطفاً متن خود را وارد کنید:\\n\")\n", + "\n", + " # استخراج شغل‌ها از متن‌ها\n", + " jobs_in_fixed_text = extract_jobs_in_text(fixed_text, jobs)\n", + " jobs_in_input_text = extract_jobs_in_text(input_text, jobs)\n", + "\n", + " print(f\"Jobs found in fixed text: {jobs_in_fixed_text}\")\n", + " print(f\"Jobs found in input text: {jobs_in_input_text}\")\n", + "\n", + " # مقایسه و نمره‌دهی\n", + " score, common_jobs = compare_jobs(jobs_in_fixed_text, jobs_in_input_text)\n", + " print(f\"The similarity score between the fixed text and your text is: {score}\")\n", + "\n", + " # نمایش شغل‌های مشترک\n", + " print(f\"Common jobs: {', '.join([f'{job1} - {job2}' for job1, job2 in common_jobs])}\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "HSDOmH9cO97n", + "outputId": "ed07ad13-4e7a-4160-c850-1479be5d6707" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs from Excel: [' FrontEnd برنامه نویس', ' کارشناس شبکه', ' کارشناس HelpDesk', ' طراح وب سایت وردپرسی', ' مهندس نرم\\u200cافزار', ' مدیر واحد خرید', ' کارشناس واحد خرید', ' کارشناس صادرات', 'توسعه دهنده وب', ' توسعه دهنده وب', ' Backend Developer', ' FullStack Developer', ' توسعه\\u200cدهنده Backend', ' Junior BackEnd Developer', ' Technical Support', ' طراح و توسعه دهنده وب\\u200cسایت', ' برنامه\\u200cنویس PHP و Laravel', ' تدریس برنامه\\u200cنویسی', ' همکاری با سایت استاد', ' همکاری با کارفرمایان', 'کارشناسی مهندسی کامپیوترنرم\\u200cافزار', ' کارشناسی ارشد مهندسی کامپیوترهوش مصنوعی', 'توسعه\\u200cدهنده نرم\\u200cافزار', ' طراح و مدیر پروژه', ' توسعه دهنده نرم\\u200cافزار', ' مدیریت پروژه', ' مشاور فنی', ' طراح وبسایت', ' دیتا ساینتیست', ' مسئول امور اداری در شرکت کامپیوتری', ' طراح و توسعه دهنده وب', ' مهندسی برق', ' محقق در حوزه زیست\\u200cشناسی و تحلیل داده\\u200cها', ' کارشناس داروخانه ', ' حق\\u200cالتدریس زبان انگلیسی', ' UI/UX Designer', ' مدیریت انبار', ' مشاور تحصیلی', ' طراح محصول', ' آموزشگر ICDL', ' رئیس دفتر امور عمومی', ' نویس تحت وب', ' برنامه نویس وردپرس', ' طراح وب', ' Front End Developer', ' مسئول توسعه وب', ' توسعه دهنده وب و نرم\\u200cافزار', ' طراحی و پیاده\\u200cسازی سیستم\\u200cهای مدیریتی', ' مشارکت در پروژه\\u200cهای مختلف وب', ' Data Scientist', ' مسئول UI/UX ', ' مسئول UI/UX در شرکت روزنامه دنیای اقتصاد', ' مدیریت و توسعه کسب و کار', ' مشاوره و راهنمایی شغلی', ' آموزش و تربیت', ' اجرای دوره\\u200cهای آموزشی', ' مدیریت روابط عمومی', ' تدریس در دانشگاه', ' Backend Web Developer Freelance', ' کارشناس تحقیق و توسعه', ' گرافیست', ' Python/Django Developer', ' AI Engineer', 'متخصص هوش مصنوعی و پردازش تصویر', ' متخصص تحلیل داده', ' برنامه نویس اندروید', ' آموزشگری آموزش\\u200cهای مدرک دار', ' تعمیرات و نگهداری', ' متخصص و مدرس در حوزه آموزش و مشاوره مهارت\\u200cهای IT', ' مدیریت و توسعه وب سایت', ' توسعه دهنده داده\\u200cهای آزاد', ' متخصص و مدرس در دوره\\u200cهای آموزشی مرتبط با تحلیل داده', ' توسعه\\u200cدهنده وب', ' طراح و توسعه\\u200cدهنده برنامه\\u200cهای موبایل', ' معلم در دبیرستان', ' فریلنسر در حوزه طراحی وبسایت', ' مدرس ریاضیات در دوره WROSenior', ' مشاور آموزشی', ' مدیریت شبکه و ADSL', ' IT و شبکه\\u200cهای ارتباطی', ' طراحی و توسعه وب\\u200cسایت\\u200cها', ' کارآموزی HTML و CSS', ' تیم توسعه نرم\\u200cافزارهای مختلف', ' محقق دانشگاه تهران', ' مهندس داده', ' مدیر پروژه', ' مهندس مشاوری', ' مسئول دفتر فنی', ' مهندسی فناوری اطلاعات', 'توسعه دهنده نرم\\u200cافزار', ' توسعه\\u200cدهنده نرم\\u200cافزار', ' منشی', ' مدیریت اداری', ' مدیریت و برقراری ارتباط با تیم\\u200cهای مختلف', ' تحلیل و توسعه پروژه\\u200cهای متنوع', ' تجربه در حوزه مهندسی صنایع', ' مدیریت و نگهداری سایت', ' تحقیق و تحلیل مخاطبان هدف', ' بهینه\\u200cسازی محتوای وبسایت', ' تحقیق و توسعه در حوزه\\u200cهای مختلف مهندسی کامپیوتر و فناوری اطلاعات', ' برنامه\\u200cنویس و متخصص در حوزه\\u200cی تصویرپردازی', 'شغل: مهندسی کامپیوتر', ' دیجیتال مارکتینگ', ' متخصص تحلیل داده و علم داده', ' طراحی و پیاده\\u200cسازی REST API', ' توسعه و اجرای پروژه\\u200cهای وب', ' توانایی طراحی UI/UX', ' مسلط به مدیریت دیتابیس\\u200cها', ' تحلیل و پ��دازش داده ', ' توسعه مدل\\u200cهای یادگیری عمیق', ' کارشناس مهندسی کامپیوتر و مهندسی نرم\\u200cافزار', ' برنامه\\u200cنویس ارشد', ' مشاور حرفه\\u200cای', ' مدیریت و توسعه سیستم\\u200cهای اطلاعاتی', ' Junior Django Developer', ' Junior Developer', ' طراحی و کسب و کار دیجیتال ', ' Google AdWords ', ' بهینه\\u200cسازی سایت\\u200cها برای موتورهای جستجو ', ' توسعه وبسایت با Wordpress ', ' Google Analytics ', ' توسعه کسب و کار آنلاین', ' مشاور روانشناسی و مشاوره', ' مدیریت مشتریان و صادرات', ' Teacher Assistant', ' متخصص وب اسکرپینگ', 'شغل: توسعه\\u200cدهنده نرم\\u200cافزار', ' مشاور امور اداری و مالی', ' مدیریت', ' طراحی محتوا و تدریس', ' Data Analyst', ' کارشناس ارشد', ' مشاور فنی دانشگاه صنعتی شریف', ' مشاور فنی داده\\u200cهای فرآیندی', ' مسئول فروش و بازاریابی', ' محقق', ' متخصص اندروید', ' آموزش دوره\\u200cهای مرتبط با مهندسی نرم\\u200cافزار', ' پروژه\\u200cهای فریلنسینگ در زمینه\\u200cی توسعه\\u200cی نرم\\u200cافزار', ' برنامه\\u200cنویسی: Python، C، Django', ' Python Developer', ' کارشناس فنی در شرکت IT افزاری', ' کارشناس برنامه\\u200cنویسی در شرکت مشاوره\\u200cی IT', ' مدیریت مهندسی دانش', ' رزومه رسانی', ' کاریابی و مدیریت منابع انسانی', ' مشاور فنی در شرکت Tensurf برای تحلیل داده\\u200cهای مکانیکی و کارشناسی فرآیند', ' مشاور فنی در حوزه سیستم\\u200cهای اطلاعاتی', ' مسلط به ASP.NET Core و C#', ' توانایی طراحی و توسعه وب\\u200cسایت\\u200cها', ' مشارکت در تیم\\u200cهای توسعه نرم\\u200cافزار', ' داده\\u200cانالیست', ' متخصص هوش مصنوعی', ' توسعه و پشتیبانی سیستم\\u200cها', ' تحلیل داده', ' طراحی و پیاده\\u200cسازی ماشینی', ' توسعه و بهبود فرآیندهای تجاری', ' مدیریت و پیاده\\u200cسازی ارتباطات شبکه', ' تجربه کار با ابزارهای توسعه نرم\\u200cافزار', ' مدرس آموزش Python', ' توسعه دهنده نرم\\u200cافزار مبتنی بر وب', ' فعالیت در حوزه آموزش و مشاوره', ' مدیر شرکت فناوری و الکترونیک', ' کارشناس ارشد امور دانشگاهی', ' کارشناس ارشد روابط عمومی و بازاریابی', ' Golang Developer', ' C# Developer', ' توسعه\\u200cدهنده نرم\\u200cافزار در شرکت فرابین', ' تحلیلگر و توسعه دهنده نرم\\u200cافزار', ' کاریابی دانشگاه', ' فردی متخصص دانشگاه', ' تولید محتوا و آموزش', ' توسعه دهنده نرم\\u200cافزار شرکت در نویس', ' تحلیل داده و پردازش آن', ' مارکتینگ دیجیتال', ' مدیریت روابط مشتریان', ' متخصص IT و اطلاعاتی', ' مدرس دوره\\u200cهای آموزشی', ' تجربه کاری در حوزه\\u200cهای تحلیل داده\\u200cهای اکتشافی', ' IT Help Desk', ' مهندس محاسبات', ' توسعه\\u200cدهنده AI/ML', ' تحلیل\\u200cگر', ' Junior Machine Learning Engineer ', ' Web Admin and Machine Learning Assistant ', ' IT Manager', ' مهندس راداری', ' مهندسی ارتباطات', ' تحلیل\\u200cگر داده', ' مشاور تحلیل داده', ' توسعه\\u200cدهنده هوش مصنوعی', ' FrontEnd Developer', ' برنامه\\u200cنویس iOS', ' توسعه دهنده نرم\\u200cافزار آزاد', ' مهندسی محاسبات', ' توسعه و طراحی نرم\\u200cافزارها', ' مشاور ارشد', ' توسعه\\u200cدهنده وب', 'مدیریت دیجیتال', ' طراحی گرافیک', 'مهندسی نفت', ' مهندس نرم\\u200cافزار و متخصص ارتباط انسان و ماشین', 'کارآموز هوش مصنوعی ', 'کاراموز هوش مصنوعی ', 'کارآموز هوش مصنوعی']\n", + "Education from Excel: [' کارشناسی ارشد شبکه های کامپیوتری', ' کارشناسی مهندسی عمران', ' کارشناسی ارشد هوش مصنوعی', ' کارشناسی مهندسی نرم\\u200cافزار', ' کارشناسی مدیریت بازرگانی بین\\u200cالملل', ' ارشد: تیری مد بازرگانی بین\\u200cالملل', ' لیسانس مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی نرم\\u200cافزار', ' کارشناسی ارشد مهن��سی نرم\\u200cافزار', ' مهندسی تکنولوژی نرم\\u200cافزار کامپیوتر', ' کارشناسی مهندسی کامپیوترنرم\\u200cافزار', ' کارشناسی ارشد مهندسی کامپیوترهوش مصنوعی', ' دیپلم رشته\\u200cی علوم ریاضی', ' کارشناسی ارشد رشته طراحی صنعتی', ' کاردانی رشته موسیقی گرایش نوازندگی ساز جهانی', ' کارشناسی رشته طراحی صنعتی', ' کارشناسی مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی کامپیوتر', ' کاردانی کامپیوتر نرم افزار', ' کارشناسی کامپیوتر', ' کارشناسی ارشد مهندسی کامپیوتر', ' فارغ التحصیل رشته زبان و مترجمی انگلیسی', ' دکترای مهندسی برق', ' کارشناسی ارشد زمینه کنترل وضعیت', ' مهندسی برق الکترونیک', ' کارشناسی ارشد زیست\\u200cشناسی', ' دکتری زیست\\u200cشناسی', ' دیپلم متوسطه', ' دیپلم رشتهٔ انفورماتیک', ' کارشناسی کامپیوتر', ' مهندسی شبکه', ' مهندسی سخت\\u200cافزار', ' مهندسی نرم\\u200cافزار', ' کاردانی کامپیوتر نرم افزار', ' کارشناسی کامپیوتر نرم افزار', ' فوق لیسانس مهندسی نرم\\u200cافزار', ' لیسانس ادبیات', ' فوق لیسانس مدیریت', ' کارشناسی مهندسی کامپیوتر', ' کارشناسی مهندسی کامپیوتر', 'کارشناسی ارشد شیمی آلی', ' کارشناسی شیمی محض', ' کارشناسی ارشد مهندسی برقگرایش مخابرات سیستم', ' کارشناسی مهندسی برقگرایش الکترونیک', ' کارشناسی ارشد مهندسی کامپیوتر', ' کارشناسی مهندسی کامپیوتر', ' کاردانی مهندسی کامپیوترگرایش نرم افزار', ' کارشناسی ارشد رشته مهندسی IT', ' کارشناسی رشته مهندسی وب تراکنشی', ' کارشناسی مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی نرم\\u200cافزار', 'دکترای آموزش ریاضیات ', 'کارشناسی ارشد ارتقاء مهارت\\u200cهای ریاضی ', 'کارشناسی ریاضیات ', ' کارشناسی مهندسی کامپیوتر گرایش شبکه', ' کارشناسی ارشد مهندسی شبکه و امنیت اطلاعات', ' کارشناسی مهندسی شبکه و نرم\\u200cافزار', ' دیپلم ارشد رشته\\u200cی مهندسی نرم\\u200cافزار', ' دانشجوی مهندسی نرم\\u200cافزار ', ' رشته مهندسی کامپیوتر از ', ' کارشناسی مهندسی برق', ' کارشناسی ارشد مهندسی برق', ' دکترای برنامه\\u200cریزی شهری', ' مهندسی شهری', ' فوق لیسانس مدیریت شهری', ' دیپلم ریاضی نور ', ' کارشناسی مهندسی مواد ', ' کارشناسی ارشد مهندسی فناوری اطلاعات', ' مهندسی فناوری اطلاعات', ' کارشناسی کامپیوتر', ' کارشناسی مهندسی رایانه', ' کارشناسی ارشد مهندسی نرم\\u200cافزار', ' دکترای مهندسی و مدیریت صنعتی', ' دکترای مهندسی صنایع', ' کارشناسی ارشد مهندسی صنایع', ' کارشناسی مهندسی کنترل', ' کارشناسی ارشد مهندسی کامپیوتر', ' کارشناسی مهندسی کامپیوتر', ' مهندسی نرم\\u200cافزار ', ' کارشناسی مهندسی نرم\\u200cافزار ', ' کارشناسی مهندسی حاسبات ', ' دیپلم ریاضیات فیزیک', ' مهندسی کامپیوتر و مهندسی نرم\\u200cافزار', ' فوق\\u200cلیسانس مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی کامپیوتر', ' دیپلم رشته\\u200cهای اداری و تبلیغات', ' دیپلم دیجیتال و تبلیغات', ' کارشناسی مهندسی نرم\\u200cافزار ', ' کارشناسی ارشد رشته\\u200cی هوش مصنوعی و تصویربرداری', ' دکترای مهندسی تحلیل و طراحی سیستم\\u200cها', ' مقطع تحصیلی: Ph.D.', ' کارشناسی ارشد مهندسی کامپیوتر ', ' مهندسی نرم\\u200cافزار', ' دیپلم ریاضی', ' فوق دیپلم نرم\\u200cافزار مهندسی ارشد کارشناسی', ' کارشناسی مهندسی نرم\\u200cافزار', ' کارشناسی ارشد مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی متالورژی متالورژی و مهندسی مواد', ' فوق لیسانس زمینه مهندسی متالورژی', 'دکتری فناوری اطلاعات IT', ' تحلیل و طراحی سیستم\\u200cها', ' فوق\\u200cلیسانس مهندسی کامپیوتر', ' دانشجوی کارشناسی ارشد رشته مهندسی کامپیوتر', ' فوق دیپلم مکانیک', ' کارشناسی مهندسی مکانیک', ' دوره های آموزشی حرفه ای زمینه مدیریت منابع انسانی', ' دکترای داده\\u200cهای تصمیمی داده\\u200cهای تصمیمی', ' دیپلم ریاضیات و فیزیک', ' لیسانس مهندسی ارشد هوش مصنوعی', ' کارشناسی مهندسی شریعتی', ' فوق لیسانس مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی نرم\\u200cافزار', ' دکترای حقوق و فلسفه', ' مهندسی کامپیوتر گرایش مهندسی کامپیوتر کاربردی', ' کارشناسی مهندسی کامپیوتر', ' فوق لیسانس مهندسی نرم\\u200cافزار', ' مک کارشناسی ورزش اعتیادی', ' دیپلم ریاضی و فیزیک', ' رشته\\u200cی مهندسی کامپیوتر از ', ' کارشناسی مهندسی فناوری اطلاعات', ' فوق لیسانس رشته\\u200cی مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی IT ', ' دکتری رشته مهندسی ارتباطات و دانشنامه\\u200cها', ' فوق لیسانس وزارت علوم', ' دکترای مهندسی نرم\\u200cافزار', ' کارشناسی ارشد تحلیل و طراحی سیستم\\u200cها', ' کارشناسی ارشد مهندسی وضعیت', ' کارشناسی مهندسی ارتباطات', ' کارشناسی مهندسی تحلیل داده و مدیریت داده', ' کارشناسی مهندسی نرم\\u200cافزار', ' لیسانس مهندسی نرم\\u200cافزار', ' لیسانس مهندسی محاسبات ', ' کارشناسی ارشد مهندسی نرم\\u200cافزار', ' دکترای مهندسی اطلاعات', ' لیسانس ویژه\\u200cی فناوری اطلاعات', ' دکترای مهندسی نرم\\u200cافزار', ' کارشناسی ارشد مهندسی نرم\\u200cافزار', ' کارشناسی مهندسی کامپیوتر']\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs found in fixed text: ['کارآموز هوش مصنوعی']\n", + "Jobs found in input text: ['مدیریت دیجیتال', 'مدیریت', 'طراحی گرافیک', 'متخصص هوش مصنوعی']\n", + "Education found in fixed text: []\n", + "Education found in input text: ['مهندسی نرم افزار']\n", + "The similarity score between the fixed text and your text for jobs is: 75\n", + "The similarity score between the fixed text and your text for education is: 0\n", + "Common jobs: کارآموز هوش مصنوعی - متخصص هوش مصنوعی\n", + "Common education: \n", + "The average similarity score is: 37.5\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import re\n", + "from difflib import SequenceMatcher\n", + "\n", + "def read_from_excel(file_path):\n", + " df = pd.read_excel(file_path)\n", + " items = df['object'].astype(str).tolist() # تبدیل همه مقادیر به رشته\n", + " return items\n", + "\n", + "def preprocess_text(text):\n", + " # حذف کاراکترهای غیرضروری و نرمال‌سازی متن\n", + " text = text.replace('\\u200c', ' ').strip() # حذف نیم‌فاصله و فاصله‌های اضافی\n", + " text = re.sub(r'\\s+', ' ', text) # حذف فاصله‌های تکراری\n", + " return text\n", + "\n", + "def extract_items_in_text(text, items):\n", + " text = preprocess_text(text)\n", + " found_items = set() # استفاده از مجموعه برای جلوگیری از تکرار\n", + " for item in items:\n", + " item_normalized = preprocess_text(item)\n", + " if item_normalized.lower() in text.lower():\n", + " found_items.add(item_normalized)\n", + " return list(found_items)\n", + "\n", + "def compare_items(items_1, items_2):\n", + " common_items = set()\n", + " score = 0 # مقدار پیش‌فرض برای score\n", + " for item1 in items_1:\n", + " for item2 in items_2:\n", + " words1 = set(item1.lower().split())\n", + " words2 = set(item2.lower().split())\n", + " common_words = words1.intersection(words2)\n", + " num_common = len(common_words)\n", + "\n", + " if num_common >= 3:\n", + " common_items.add((item1, item2))\n", + " score = 100\n", + " elif num_common == 2:\n", + " common_items.add((item1, item2))\n", + " score = 75\n", + " elif num_common == 1:\n", + " common_items.add((item1, item2))\n", + " score = 50\n", + "\n", + " return score, common_items\n", + "\n", + "def main():\n", + " # مسیر فایل اکسل‌ها را وارد کنید\n", + " job_excel_file_path = 'jobs_output.xlsx'\n", + " education_excel_file_path = 'education_output.xlsx'\n", + "\n", + " # خواندن شغل‌ها و تحصیلات از فایل‌های اکسل\n", + " jobs = read_from_excel(job_excel_file_path)\n", + " education = read_from_excel(education_excel_file_path)\n", + " print(\"Jobs from Excel:\", jobs)\n", + " print(\"Education from Excel:\", education)\n", + "\n", + " # متن ثابت\n", + "\n", + " fixed_text = \"\"\"استخدام کارآموز هوش مصنوعی (AI-شیراز)\n", + "\n", + "دسته‌بندی شغلی\n", + "وب،‌ برنامه‌نویسی و نرم‌افزار\n", + "موقعیت مکانی\n", + "فارس ، شیراز\n", + "نوع همکاری\n", + "تمام وقت کارآموزی\n", + "حداقل سابقه کار\n", + "مهم نیست\n", + "حقوق\n", + "توافقی\n", + "شرح موقعیت شغلی\n", + "شرکت تاو سیستم واقع در (شیراز - صدرا - خیابان البرز) در راستای تکمیل تیم نرم افزاری خود در نظر دارد دوره کارآموزی رایگان از مبتدی تا حرفه ای برای افراد پر انرژی و فعال برگزار کند.\n", + "هدف از این دوره آماده کردن نیروها جهت جذب در شرکت تاو سیستم است.\n", + "اگر فرد فعال و پر انرژی هستید و در جهت پیشرفت خود تلاش زیادی می کنید، ما منتظر شما هستیم....\n", + "\n", + "\n", + "\n", + "نحوه برگزاری:\n", + "دوره به مدت 4 ماه (سه روز در هفته) به صورت کلاس آموزشی برگزار می شود.\n", + "شرکت در (شیراز - صدرا - خیابان البرز) واقع شده و دوره آموزشی به صورت حضوری برگزار می شود.\n", + "شما در طول دوره توسط مدرس مورد ارزیابی مستمر قرار میگیرید و در صورت عدم توانایی شما برای ادامه دوره، به شما اعلام می شود و از دوره کنار گذاشته میشوید.\n", + "در انتهای دوره پروژه ای تستی با توجه به مسائلی که در دوره یاد گرفته اید برای شما تعریف می شود و برای انجام آن دو هفته فرصت دارید.\n", + "در صورت تایید پروژه شما توسط مدرس دوره، با شما قرارداد بسته می شود و به صورت حضوری در شرکت مشغول به فعالیت می شوید.\n", + "\n", + "***لطفا در صورت داشتن همه (شرایط عمومی) زیر، رزومه خود را ارسال کنید.***\n", + "\n", + "\n", + "\n", + "شرایط عمومی:\n", + "۱. آشنایی مقدماتی با زبان برنامه نویسی پایتون\n", + "۲. سطح زبان انگلیسی متوسط به بالا (توانایی درک متون انگلیسی تخصصی)\n", + "۳. آشنایی مقدماتی با الگوریتم های هوش مصنوعی (یادگیری ماشین، یادگیری عمیق )\n", + "۴. آشنایی با پایگاه داده مقدماتی\n", + "۵- امکان شرکت در دوره ها به صورت حضوری در آدرس (شیراز - صدرا - خیابان البرز)\n", + "۶- امکان گذاشتن وقت در خارج از تایم کلاس ها جهت انجام تمرینات\n", + "۷- امکان همکاری به صورت تمام وقت و حضوری در صورت قبولی در انتهای دوره (40 ساعت در هفته)\n", + "۸- از پذیرش دانشجو و افراد که شاغل هستند و یا اینکه در آینده درخواست کار به صورت ریموت دارند معذوریم.\n", + "۹- سن بین 18 الی 30 سال\n", + "۱۰- علاقه مند به یادگیری و به روز رسانی دانش فردی\n", + "۱۱- خلاق، پویا، با انگیزه و سرعت عملکرد بالا\n", + "۱۲- منظم و مسئولیت پذیر\n", + "\n", + "\n", + "\n", + "مهارت‌های امتیازی:\n", + "۱. آشنایی با با زبان برنامه نویسی پ��یتون در حد پیشرفته\n", + "۲. آشنایی با فریم ورک های pytorch , tensorflow\n", + "۳. آشنایی با کتاب خانه های numpy, pandas, matplotlib, sklearn ..\n", + "۴. آشنایی با data mining\n", + "۵. آشنایی با اصول solid\n", + "۶. آشنایی با Clean architecture\n", + "۷. آشنایی با Git , GitHub\n", + "\n", + "\"\"\"\n", + " # گرفتن ورودی متن از کاربر\n", + " input_text = input(\"لطفاً متن خود را وارد کنید:\\n\")\n", + "\n", + " # استخراج شغل‌ها و تحصیلات از متن‌ها\n", + " jobs_in_fixed_text = extract_items_in_text(fixed_text, jobs)\n", + " jobs_in_input_text = extract_items_in_text(input_text, jobs)\n", + " education_in_fixed_text = extract_items_in_text(fixed_text, education)\n", + " education_in_input_text = extract_items_in_text(input_text, education)\n", + "\n", + " print(f\"Jobs found in fixed text: {jobs_in_fixed_text}\")\n", + " print(f\"Jobs found in input text: {jobs_in_input_text}\")\n", + " print(f\"Education found in fixed text: {education_in_fixed_text}\")\n", + " print(f\"Education found in input text: {education_in_input_text}\")\n", + "\n", + " # مقایسه و نمره‌دهی\n", + " job_score, common_jobs = compare_items(jobs_in_fixed_text, jobs_in_input_text)\n", + " education_score, common_education = compare_items(education_in_fixed_text, education_in_input_text)\n", + "\n", + " print(f\"The similarity score between the fixed text and your text for jobs is: {job_score}\")\n", + " print(f\"The similarity score between the fixed text and your text for education is: {education_score}\")\n", + "\n", + " # نمایش شغل‌ها و تحصیلات مشترک\n", + " print(f\"Common jobs: {', '.join([f'{job1} - {job2}' for job1, job2 in common_jobs])}\")\n", + " print(f\"Common education: {', '.join([f'{job1} - {job2}' for job1, job2 in common_education])}\")\n", + "\n", + " # محاسبه و نمایش میانگین نمرات\n", + " average_score = (job_score + education_score) / 2\n", + " print(f\"The average similarity score is: {average_score}\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "HPUQIykJO97o", + "outputId": "4661584f-7c2d-4e12-cd88-7265eed05931" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs found in fixed text: ['کارآموز هوش مصنوعی']\n", + "Jobs found in input text: ['مدیریت دیجیتال', 'مدیریت', 'طراحی گرافیک', 'متخصص هوش مصنوعی']\n", + "Education found in fixed text: []\n", + "Education found in input text: ['مهندسی نرم افزار']\n", + "Skills found in fixed text: ['Git', 'C', 'AI', 'انگلیسی', 'sklearn', 'TensorFlow', 'پایتون', 'matplotlib', 'Data Mining', 'GitHub', 'Pytorch', 'R', 'pandas', 'NumPy']\n", + "Skills found in input text: ['طراحی گرافیک', 'Next.js', 'JS', 'CSS', 'Vue', 'R', 'JavaScript', 'توسعه وب', 'C', 'Node.js', 'TypeScript', 'Photoshop', 'مهندسی نرم افزار', 'Word', 'Java', 'مدیریت دیجیتال', 'Adobe Photoshop', 'Microsoft Word', 'React', 'HTML']\n", + "The similarity score between the fixed text and your text for jobs is: 75\n", + "The similarity score between the fixed text and your text for education is: 0\n", + "The similarity score between the fixed text and your text for skills is: 25\n", + "Common jobs: کارآموز هوش مصنوعی - متخصص هوش مصنوعی\n", + "Common education: \n", + "Common skills: R, C\n", + "The average similarity score is: 33.333333333333336\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import re\n", + "\n", + "def read_from_excel(file_path):\n", + " df = pd.read_excel(file_path)\n", + " items = df['object'].astype(str).tolist() # تبدیل همه مقادیر به رشته\n", + " return items\n", + "\n", + "def preprocess_text(text):\n", + " # حذف کاراکترهای غیرضروری و نرمال‌سازی متن\n", + " text = text.replace('\\u200c', ' ').strip() # حذف نیم‌فاصله و فاصله‌های اضافی\n", + " text = re.sub(r'\\s+', ' ', text) # حذف فاصله‌های تکراری\n", + " return text\n", + "\n", + "def extract_items_in_text(text, items):\n", + " text = preprocess_text(text)\n", + " found_items = set() # استفاده از مجموعه برای جلوگیری از تکرار\n", + " for item in items:\n", + " item_normalized = preprocess_text(item)\n", + " if item_normalized.lower() in text.lower():\n", + " found_items.add(item_normalized)\n", + " return list(found_items)\n", + "\n", + "def compare_items(items_1, items_2):\n", + " common_items = set()\n", + " score = 0 # مقدار پیش‌فرض برای score\n", + " for item1 in items_1:\n", + " for item2 in items_2:\n", + " words1 = set(item1.lower().split())\n", + " words2 = set(item2.lower().split())\n", + " common_words = words1.intersection(words2)\n", + " num_common = len(common_words)\n", + "\n", + " if num_common >= 3:\n", + " common_items.add((item1, item2))\n", + " score = 100\n", + " elif num_common == 2:\n", + " common_items.add((item1, item2))\n", + " score = 75\n", + " elif num_common == 1:\n", + " common_items.add((item1, item2))\n", + " score = 50\n", + "\n", + " return score, common_items\n", + "\n", + "def compare_skills(skill_1, skill_2):\n", + " common_skill = set(skill_1).intersection(set(skill_2))\n", + " num_common = len(common_skill)\n", + "\n", + " if num_common >= 10:\n", + " score = 100\n", + " elif num_common == 7:\n", + " score = 75\n", + " elif num_common == 5:\n", + " score = 50\n", + " else:\n", + " score = 25\n", + "\n", + " return score, common_skill\n", + "\n", + "def main():\n", + " # مسیر فایل اکسل‌ها را وارد کنید\n", + " job_excel_file_path = 'jobs_output.xlsx'\n", + " education_excel_file_path = 'education_output.xlsx'\n", + " skills_excel_file_path = 'N_F_skill_output.xlsx'\n", + "\n", + " # خواندن شغل‌ها، تحصیلات و مهارت‌ها از فایل‌های اکسل\n", + " jobs = read_from_excel(job_excel_file_path)\n", + " education = read_from_excel(education_excel_file_path)\n", + " skills = read_from_excel(skills_excel_file_path)\n", + "\n", + "\n", + " # متن ثابت\n", + " fixed_text = \"\"\"استخدام کارآموز هوش مصنوعی (AI-شیراز)\n", + "\n", + "دسته‌بندی شغلی\n", + "وب،‌ برنامه‌نویسی و نرم‌افزار\n", + "موقعیت مکانی\n", + "فارس ، شیراز\n", + "نوع همکاری\n", + "تمام وقت کارآموزی\n", + "حداقل سابقه کار\n", + "مهم نیست\n", + "حقوق\n", + "توافقی\n", + "شرح موقعیت شغلی\n", + "شرکت تاو سیستم واقع در (شیراز - صدرا - خیابان البرز) در راستای تکمیل تیم نرم افزاری خود در نظر دارد دوره کارآموزی رایگان از مبتدی تا حرفه ای برای افراد پر انرژی و فعال برگزار کند.\n", + "هدف از این دوره آماده کردن نیروها جهت جذب در شرکت تاو سیستم است.\n", + "اگر فرد فعال و پر انرژی هستید و در جهت پیشرفت خود تلاش زیادی می کنید، ما منتظر شما هستیم....\n", + "\n", + "\n", + "\n", + "نحوه برگزاری:\n", + "دوره به مدت 4 ماه (سه روز در هفته) به صورت کلاس آموزشی برگزار می شود.\n", + "شرکت در (شیراز - صدرا - خیابان البرز) واقع شده و دوره آموزشی به صورت حضوری برگزار می شود.\n", + "شما در طول دوره توسط مدرس مورد ارزیابی مستمر قرار میگیرید و در صورت عدم توانایی شما برای ادامه دوره، به شما اعلام می شود و از دوره کنار گذاشته میشوید.\n", + "در انتهای دوره پروژه ای تستی با توجه به مسائلی که در دوره یاد گرفته اید برای شما تعریف می شود و برای انجام آن دو هفته فرصت دارید.\n", + "در صورت تایید پروژه شما توسط مدرس دوره، با شما قرارداد بسته می شود و به صورت حضوری در شرکت مشغول به فعالیت می شوید.\n", + "\n", + "***لطفا در صورت دا��تن همه (شرایط عمومی) زیر، رزومه خود را ارسال کنید.***\n", + "\n", + "\n", + "\n", + "شرایط عمومی:\n", + "۱. آشنایی مقدماتی با زبان برنامه نویسی پایتون\n", + "۲. سطح زبان انگلیسی متوسط به بالا (توانایی درک متون انگلیسی تخصصی)\n", + "۳. آشنایی مقدماتی با الگوریتم های هوش مصنوعی (یادگیری ماشین، یادگیری عمیق )\n", + "۴. آشنایی با پایگاه داده مقدماتی\n", + "۵- امکان شرکت در دوره ها به صورت حضوری در آدرس (شیراز - صدرا - خیابان البرز)\n", + "۶- امکان گذاشتن وقت در خارج از تایم کلاس ها جهت انجام تمرینات\n", + "۷- امکان همکاری به صورت تمام وقت و حضوری در صورت قبولی در انتهای دوره (40 ساعت در هفته)\n", + "۸- از پذیرش دانشجو و افراد که شاغل هستند و یا اینکه در آینده درخواست کار به صورت ریموت دارند معذوریم.\n", + "۹- سن بین 18 الی 30 سال\n", + "۱۰- علاقه مند به یادگیری و به روز رسانی دانش فردی\n", + "۱۱- خلاق، پویا، با انگیزه و سرعت عملکرد بالا\n", + "۱۲- منظم و مسئولیت پذیر\n", + "\n", + "\n", + "\n", + "مهارت‌های امتیازی:\n", + "۱. آشنایی با با زبان برنامه نویسی پایتون در حد پیشرفته\n", + "۲. آشنایی با فریم ورک های pytorch , tensorflow\n", + "۳. آشنایی با کتاب خانه های numpy, pandas, matplotlib, sklearn ..\n", + "۴. آشنایی با data mining\n", + "۵. آشنایی با اصول solid\n", + "۶. آشنایی با Clean architecture\n", + "۷. آشنایی با Git , GitHub\"\"\"\n", + "\n", + " # گرفتن ورودی متن از کاربر\n", + " input_text = input(\"لطفاً متن خود را وارد کنید:\\n\")\n", + "\n", + " # استخراج شغل‌ها، تحصیلات و مهارت‌ها از متن‌ها\n", + " jobs_in_fixed_text = extract_items_in_text(fixed_text, jobs)\n", + " jobs_in_input_text = extract_items_in_text(input_text, jobs)\n", + " education_in_fixed_text = extract_items_in_text(fixed_text, education)\n", + " education_in_input_text = extract_items_in_text(input_text, education)\n", + " skills_in_fixed_text = extract_items_in_text(fixed_text, skills)\n", + " skills_in_input_text = extract_items_in_text(input_text, skills)\n", + "\n", + " print(f\"Jobs found in fixed text: {jobs_in_fixed_text}\")\n", + " print(f\"Jobs found in input text: {jobs_in_input_text}\")\n", + " print(f\"Education found in fixed text: {education_in_fixed_text}\")\n", + " print(f\"Education found in input text: {education_in_input_text}\")\n", + " print(f\"Skills found in fixed text: {skills_in_fixed_text}\")\n", + " print(f\"Skills found in input text: {skills_in_input_text}\")\n", + "\n", + " # مقایسه و نمره‌دهی\n", + " job_score, common_jobs = compare_items(jobs_in_fixed_text, jobs_in_input_text)\n", + " education_score, common_education = compare_items(education_in_fixed_text, education_in_input_text)\n", + " skill_score, common_skills = compare_skills(skills_in_fixed_text, skills_in_input_text)\n", + "\n", + " print(f\"The similarity score between the fixed text and your text for jobs is: {job_score}\")\n", + " print(f\"The similarity score between the fixed text and your text for education is: {education_score}\")\n", + " print(f\"The similarity score between the fixed text and your text for skills is: {skill_score}\")\n", + "\n", + " # نمایش شغل‌ها، تحصیلات و مهارت‌های مشترک\n", + " print(f\"Common jobs: {', '.join([f'{job1} - {job2}' for job1, job2 in common_jobs])}\")\n", + " print(f\"Common education: {', '.join([f'{job1} - {job2}' for job1, job2 in common_education])}\")\n", + " print(f\"Common skills: {', '.join([skill for skill in common_skills])}\")\n", + "\n", + " # محاسبه و نمایش میانگین نمرات\n", + " average_score = (job_score + education_score + skill_score) / 3\n", + " print(f\"The average similarity score is: {average_score}\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "sKAPHBp9O97p", + "outputId": "80609c96-7b77-46c8-d840-84031f33adbd" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n", + "c:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:157: UserWarning: `huggingface_hub` cache-system uses symlinks by default to efficiently store duplicated files but your machine does not support them in C:\\Users\\RGS\\.cache\\huggingface\\hub\\models--HooshvareLab--distilbert-fa-zwnj-base-ner. Caching files will still work but in a degraded version that might require more space on your disk. This warning can be disabled by setting the `HF_HUB_DISABLE_SYMLINKS_WARNING` environment variable. For more details, see https://huggingface.co/docs/huggingface_hub/how-to-cache#limitations.\n", + "To support symlinks on Windows, you either need to activate Developer Mode or to run Python as an administrator. In order to see activate developer mode, see this article: https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development\n", + " warnings.warn(message)\n", + "Hardware accelerator e.g. GPU is available in the environment, but no `device` argument is passed to the `Pipeline` object. Model will be on CPU.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[{'entity': 'B-PER', 'score': 0.99705136, 'index': 3, 'word': 'پارسا', 'start': 10, 'end': 15}, {'entity': 'I-PER', 'score': 0.99855226, 'index': 4, 'word': 'کالا', 'start': 16, 'end': 20}, {'entity': 'I-PER', 'score': 0.99477464, 'index': 5, 'word': '##گر', 'start': 20, 'end': 22}, {'entity': 'I-PER', 'score': 0.992664, 'index': 6, 'word': 'آ', 'start': 24, 'end': 25}, {'entity': 'I-PER', 'score': 0.48889267, 'index': 7, 'word': '##در', 'start': 25, 'end': 27}, {'entity': 'B-LOC', 'score': 0.9992198, 'index': 10, 'word': 'تهران', 'start': 30, 'end': 35}, {'entity': 'B-LOC', 'score': 0.93526024, 'index': 12, 'word': 'ایران', 'start': 37, 'end': 42}, {'entity': 'B-ORG', 'score': 0.76149815, 'index': 30, 'word': 'دانشگاه', 'start': 121, 'end': 128}, {'entity': 'I-FAC', 'score': 0.7130289, 'index': 31, 'word': 'صنعتی', 'start': 129, 'end': 134}, {'entity': 'I-ORG', 'score': 0.75268555, 'index': 32, 'word': 'تهران', 'start': 135, 'end': 140}, {'entity': 'B-DAT', 'score': 0.60916406, 'index': 38, 'word': '140', 'start': 161, 'end': 164}]\n" + ] + } + ], + "source": [ + "from transformers import AutoTokenizer\n", + "from transformers import AutoModelForTokenClassification # for pytorch\n", + "from transformers import TFAutoModelForTokenClassification # for tensorflow\n", + "from transformers import pipeline\n", + "\n", + "\n", + "model_name_or_path = \"HooshvareLab/distilbert-fa-zwnj-base-ner\"\n", + "tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)\n", + "model = AutoModelForTokenClassification.from_pretrained(model_name_or_path) # Pytorch\n", + "# model = TFAutoModelForTokenClassification.from_pretrained(model_name_or_path) # Tensorflow\n", + "\n", + "nlp = pipeline(\"ner\", model=model, tokenizer=tokenizer)\n", + "example = \"\"\"\n", + "\n", + "\n", + "\n", + " نام: پارسا کالاگر\n", + " آدرس: تهران، ایران\n", + " سن: 27 سال\n", + "\n", + "\n", + " مدرک تحصیلی: کارشناسی\n", + " رشته تحصیلی: مهندسی نرم‌افزار\n", + " دانشگاه: دانشگاه صنعتی تهران\n", + " سال فارغ‌التحصیلی: 1402\n", + "\n", + "\n", + "\n", + " متخصص هوش مصنوعی : بیش از 5 سال تجربه در توسعه وب\n", + "\n", + " مدیریت دیجیتال : تجربه در مدیریت دیجیتال و تبلیغات آنلاین\n", + "\n", + " طراحی گرافیک : مهارت در طراحی گرافیک و ویرایش تصاویر\n", + "\n", + "\n", + " زبان‌های برنامه‌نویسی: Node.js, Next.js, TypeScript, HTML, CSS, JavaScript\n", + " فریمورک‌ها: React, Vue.js\n", + " ابزارها: Adobe Photoshop, Microsoft Word\n", + " سئو: بهینه‌سازی موتورهای جستجو\n", + "\n", + "\n", + "\"\"\"\n", + "\n", + "ner_results = nlp(example)\n", + "print(ner_results)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Lneb9HqjO97p" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "# فایل اکسل را بخوانید\n", + "df = pd.read_excel('F_skill_output.xlsx')\n", + "\n", + "# یک لیست برای نگهداری تمام کلمات مستقل\n", + "independent_words = []\n", + "\n", + "# تابعی برای جدا کردن کلمات مستقل\n", + "def split_text(text):\n", + " # Replace ، with a comma for proper splitting\n", + " text = text.replace('،', ',')\n", + " # Split by comma and newline\n", + " words = text.split(',')\n", + " result = []\n", + " for word in words:\n", + " # Split by newline and strip whitespace\n", + " result.extend([w.strip() for w in word.split('\\n') if w.strip()])\n", + " return result\n", + "\n", + "# اعمال تابع بر روی ستون 'asd' و جمع‌آوری کلمات مستقل\n", + "for text in df['skill']:\n", + " independent_words.extend(split_text(text))\n", + "\n", + "# ایجاد یک DataFrame جدید از کلمات مستقل\n", + "new_df = pd.DataFrame(independent_words, columns=['skill'])\n", + "\n", + "# ذخیره نتیجه به یک فایل اکسل جدید\n", + "new_df.to_excel('N_F_skill_output.xlsx', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "twpmeXC8O97p", + "outputId": "cc5b8359-a414-4bef-859a-29888af21eb6" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Jobs found in fixed text: ['کارآموز هوش مصنوعی']\n", + "Jobs found in input text: []\n", + "Education found in fixed text: []\n", + "Education found in input text: ['کارشناسی ارشد هوش مصنوعی']\n", + "Skills found in fixed text: ['Git', 'یادگیری عمیق', 'Deep Learning', 'R', 'C', 'انگلیسی', 'Machine Leaning', 'TensorFlow', 'Data Mining', 'GitHub', 'pandas', 'NumPy', 'sklearn', 'Deep learning', 'AI', 'یادگیری ماشین', 'solid', 'پایتون', 'matplotlib', 'Pytorch']\n", + "Skills found in input text: ['Git', 'یادگیری عمیق', 'Machine Learning:', 'Python', 'پردازش', 'R', 'Computer Vision', 'OpenCV', 'C', 'انگلیسی', 'Linux', 'TensorFlow', 'Reinforcement learning', 'NumPy', 'Visio', 'لینوکس', 'Machine Learning', 'Keras', '.NET', 'Image Processing', 'AI', 'یادگیری ماشین', 'پایتون', 'HTML']\n", + "The similarity score between the fixed text and your text for jobs is: 0\n", + "The similarity score between the fixed text and your text for education is: 0\n", + "The similarity score between the fixed text and your text for skills is: 100\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Hardware accelerator e.g. GPU is available in the environment, but no `device` argument is passed to the `Pipeline` object. Model will be on CPU.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracted Name: امینفرجی\n", + "Extracted Location: \n", + "Extracted Age: None\n", + "The similarity score for location is: 0\n", + "The similarity score for age is: 0\n", + "The average similarity score is: 20.0\n", + "Results saved to output.json\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import re\n", + "import json\n", + "from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline\n", + "\n", + "def read_from_excel(file_path):\n", + " df = pd.read_excel(file_path)\n", + " items = df['object'].astype(str).tolist() # تبدیل همه مقادیر به رشته\n", + " return items\n", + "\n", + "def preprocess_text(text):\n", + " # حذف کاراکترهای غیرضروری و نرمال‌سازی متن\n", + " text = text.replace('\\u200c', ' ').strip() # حذف نیم‌فاصله و فاصله‌های اضافی\n", + " text = re.sub(r'\\s+', ' ', text) # حذف فاصله‌های تکراری\n", + " return text\n", + "\n", + "def extract_items_in_text(text, items):\n", + " text = preprocess_text(text)\n", + " found_items = set() # استفاده از مجموعه برای جلوگیری از تکرار\n", + " for item in items:\n", + " item_normalized = preprocess_text(item)\n", + " if item_normalized.lower() in text.lower():\n", + " found_items.add(item_normalized)\n", + " return list(found_items)\n", + "\n", + "def compare_items(items_1, items_2):\n", + " common_items = set()\n", + " score = 0 # مقدار پیش‌فرض برای score\n", + " for item1 in items_1:\n", + " for item2 in items_2:\n", + " words1 = set(item1.lower().split())\n", + " words2 = set(item2.lower().split())\n", + " common_words = words1.intersection(words2)\n", + " num_common = len(common_words)\n", + "\n", + " if num_common >= 3:\n", + " common_items.add((item1, item2))\n", + " score = 100\n", + " elif num_common == 2:\n", + " common_items.add((item1, item2))\n", + " score = 75\n", + " elif num_common == 1:\n", + " common_items.add((item1, item2))\n", + " score = 50\n", + "\n", + " return score, common_items\n", + "\n", + "def compare_skills(skill_1, skill_2):\n", + " common_skill = set(skill_1).intersection(set(skill_2))\n", + " num_common = len(common_skill)\n", + "\n", + " if num_common >= 10:\n", + " score = 100\n", + " elif num_common == 7:\n", + " score = 75\n", + " elif num_common == 5:\n", + " score = 50\n", + " else:\n", + " score = 25\n", + "\n", + " return score, common_skill\n", + "\n", + "def extract_ner_info(text, nlp):\n", + " ner_results = nlp(text)\n", + " full_name = ''\n", + " loc = ''\n", + " age = None\n", + "\n", + " for i in range(len(ner_results)):\n", + " if ner_results[i]['entity'] == 'B-PER':\n", + " full_name = ner_results[i]['word']\n", + " for j in range(i+1, len(ner_results)):\n", + " if ner_results[j]['entity'].startswith('I-PER'):\n", + " full_name += ner_results[j]['word'].replace('##', '')\n", + " else:\n", + " break\n", + "\n", + " if ner_results[i]['entity'] == 'I-fac' and not loc:\n", + " loc = ner_results[i]['word']\n", + "\n", + " age_match = re.search(r'سن\\s*:\\s*(\\d+)', text)\n", + " if age_match:\n", + " age = int(age_match.group(1))\n", + "\n", + " return full_name, loc, age\n", + "\n", + "def main():\n", + " # مسیر فایل اکسل‌ها را وارد کنید\n", + " job_excel_file_path = 'jobs_output.xlsx'\n", + " education_excel_file_path = 'education_output.xlsx'\n", + " skills_excel_file_path = 'N_F_skill_output.xlsx'\n", + " # خواندن شغل‌ها، تحصیلات و مهارت‌ها از فایل‌های اکسل\n", + " jobs = read_from_excel(job_excel_file_path)\n", + " education = read_from_excel(education_excel_file_path)\n", + " skills = read_from_excel(skills_excel_file_path)\n", + "\n", + " # متن ثابت\n", + " fixed_text = \"\"\" استخدام کارآموز هوش مصنوعی (AI-شیراز)\n", + "\n", + "دسته‌بندی شغلی\n", + "وب،‌ برنامه‌نویسی و نرم‌افزار\n", + "موقعیت مکانی\n", + "فارس ، شیراز\n", + "نوع همکاری\n", + "تمام وقت کارآموزی\n", + "حداقل سابقه کار\n", + "مهم نیست\n", + "حقوق\n", + "توافقی\n", + "شرح موقعیت شغلی\n", + "شرکت تاو سیستم واقع در (شیراز - صدرا - خیابان البرز) در راستای تکمیل تیم نرم افزاری خود در نظر دارد دوره کارآموزی رایگان از مبتدی تا حرفه ای برای افراد پر انرژی و فعال برگزار کند.\n", + "هدف از این دوره آماده کردن نیروها جهت جذب در شرکت تاو سیستم است.\n", + "اگر فرد فعال و پر انرژی هستید و در جهت پیشرفت خود تلاش زیادی می کنید، ما منتظر شما هستیم....\n", + "\n", + "\n", + "\n", + "نحوه برگزاری:\n", + "دوره به مدت 4 ماه (سه روز در هفته) به صورت کلاس آموزشی برگزار می شود.\n", + "شرکت در (شیراز - صدرا - خیابان البرز) واقع شده و دوره آموزشی به صورت حضوری برگزار می شود.\n", + "شما در طول دوره توسط مدرس مورد ارزیابی مستمر قرار میگیر��د و در صورت عدم توانایی شما برای ادامه دوره، به شما اعلام می شود و از دوره کنار گذاشته میشوید.\n", + "در انتهای دوره پروژه ای تستی با توجه به مسائلی که در دوره یاد گرفته اید برای شما تعریف می شود و برای انجام آن دو هفته فرصت دارید.\n", + "در صورت تایید پروژه شما توسط مدرس دوره، با شما قرارداد بسته می شود و به صورت حضوری در شرکت مشغول به فعالیت می شوید.\n", + "\n", + "***لطفا در صورت داشتن همه (شرایط عمومی) زیر، رزومه خود را ارسال کنید.***\n", + "\n", + "\n", + "\n", + "شرایط عمومی:\n", + "۱. آشنایی مقدماتی با زبان برنامه نویسی پایتون\n", + "۲. سطح زبان انگلیسی متوسط به بالا (توانایی درک متون انگلیسی تخصصی)\n", + "۳. آشنایی مقدماتی با الگوریتم های هوش مصنوعی (یادگیری ماشین، یادگیری عمیق )\n", + "Machine Leaning\n", + "Deep learning\n", + "machine Leaning\n", + "deep learning\n", + "۴. آشنایی با پایگاه داده مقدماتی\n", + "۵- امکان شرکت در دوره ها به صورت حضوری در آدرس (شیراز - صدرا - خیابان البرز)\n", + "۶- امکان گذاشتن وقت در خارج از تایم کلاس ها جهت انجام تمرینات\n", + "۷- امکان همکاری به صورت تمام وقت و حضوری در صورت قبولی در انتهای دوره (40 ساعت در هفته)\n", + "۸- از پذیرش دانشجو و افراد که شاغل هستند و یا اینکه در آینده درخواست کار به صورت ریموت دارند معذوریم.\n", + "۹- سن بین 18 الی 30 سال\n", + "۱۰- علاقه مند به یادگیری و به روز رسانی دانش فردی\n", + "۱۱- خلاق، پویا، با انگیزه و سرعت عملکرد بالا\n", + "۱۲- منظم و مسئولیت پذیر\n", + "\n", + "\n", + "\n", + "مهارت‌های امتیازی:\n", + "۱. آشنایی با با زبان برنامه نویسی پایتون در حد پیشرفته\n", + "۲. آشنایی با فریم ورک های pytorch , tensorflow\n", + "۳. آشنایی با کتاب خانه های numpy, pandas, matplotlib, sklearn ..\n", + "۴. آشنایی با data mining\n", + "۵. آشنایی با اصول solid\n", + "۶. آشنایی با Clean architecture\n", + "۷. آشنایی با Git , GitHub\"\"\"\n", + "\n", + " # گرفتن ورودی متن از کاربر\n", + " input_text = input(\"لطفاً متن خود را وارد کنید:\\n\")\n", + " input_text = input_text.replace(\"آدرس\", \"\")\n", + " # استخراج شغل‌ها، تحصیلات و مهارت‌ها از متن‌ها\n", + " jobs_in_fixed_text = extract_items_in_text(fixed_text, jobs)\n", + " jobs_in_input_text = extract_items_in_text(input_text, jobs)\n", + " education_in_fixed_text = extract_items_in_text(fixed_text, education)\n", + " education_in_input_text = extract_items_in_text(input_text, education)\n", + " skills_in_fixed_text = extract_items_in_text(fixed_text, skills)\n", + " skills_in_input_text = extract_items_in_text(input_text, skills)\n", + "\n", + " print(f\"Jobs found in fixed text: {jobs_in_fixed_text}\")\n", + " print(f\"Jobs found in input text: {jobs_in_input_text}\")\n", + " print(f\"Education found in fixed text: {education_in_fixed_text}\")\n", + " print(f\"Education found in input text: {education_in_input_text}\")\n", + " print(f\"Skills found in fixed text: {skills_in_fixed_text}\")\n", + " print(f\"Skills found in input text: {skills_in_input_text}\")\n", + "\n", + " # مقایسه و نمره‌دهی\n", + " job_score, common_jobs = compare_items(jobs_in_fixed_text, jobs_in_input_text)\n", + " education_score, common_education = compare_items(education_in_fixed_text, education_in_input_text)\n", + " skill_score, common_skills = compare_skills(skills_in_fixed_text, skills_in_input_text)\n", + "\n", + " print(f\"The similarity score between the fixed text and your text for jobs is: {job_score}\")\n", + " print(f\"The similarity score between the fixed text and your text for education is: {education_score}\")\n", + " print(f\"The similarity score between the fixed text and your text for skills is: {skill_score}\")\n", + "\n", + " # تنظیم و آماده‌سازی مدل NER\n", + " model_name_or_path = \"HooshvareLab/distilbert-fa-zwnj-base-ner\"\n", + " tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)\n", + " model = AutoModelForTokenClassification.from_pretrained(model_name_or_path) # Pytorch\n", + " nlp = pipeline(\"ner\", model=model, tokenizer=tokenizer)\n", + "\n", + " # استخراج اطلاعات NER\n", + " full_name, loc, age = extract_ner_info(input_text, nlp)\n", + " input_text = full_name.replace(\"آدرس\", \"\")\n", + " print(f\"Extracted Name: {full_name}\")\n", + " print(f\"Extracted Location: {loc}\")\n", + " print(f\"Extracted Age: {age}\")\n", + "\n", + " # نمره‌دهی لوکیشن\n", + " fixed_loc = \"شیراز\"\n", + " loc_score = 100 if loc == fixed_loc else 0\n", + " print(f\"The similarity score for location is: {loc_score}\")\n", + "\n", + " # نمره‌دهی سن\n", + " age_score = 100 if age and 18 <= age <= 30 else 0\n", + " print(f\"The similarity score for age is: {age_score}\")\n", + "\n", + " # محاسبه و نمایش میانگین نمرات\n", + " average_score = (job_score + education_score + skill_score + loc_score + age_score) / 5\n", + " print(f\"The average similarity score is: {average_score}\")\n", + "\n", + " # ساخت خروجی JSON\n", + " output = {\n", + " \"average_score\": average_score,\n", + " \"full_name\": full_name,\n", + " \"age\": age,\n", + " \"location\": loc,\n", + " \"job_score\": job_score,\n", + " \"education_score\": education_score,\n", + " \"skill_score\": skill_score,\n", + " \"loc_score\": loc_score,\n", + " \"age_score\": age_score,\n", + " \"common_jobs\": list(common_jobs),\n", + " \"common_education\": list(common_education),\n", + " \"common_skills\": list(common_skills)\n", + " }\n", + "\n", + " with open(\"output.json\", \"w\") as json_file:\n", + " json.dump(output, json_file, ensure_ascii=False, indent=4)\n", + "\n", + " print(\"Results saved to output.json\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "d4w_XIw3O97r", + "outputId": "3e7a6a46-7943-4d02-b0c7-b9fdeac9bb47" + }, + "outputs": [ + { + "ename": "OSError", + "evalue": "We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like NLPclass/Named-entity-recognition is not the path to a directory containing a file named config.json.\nCheckout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mgaierror\u001b[0m Traceback (most recent call last)", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connection.py:198\u001b[0m, in \u001b[0;36mHTTPConnection._new_conn\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 197\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 198\u001b[0m sock \u001b[38;5;241m=\u001b[39m \u001b[43mconnection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_connection\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 199\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_dns_host\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mport\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 200\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 201\u001b[0m \u001b[43m \u001b[49m\u001b[43msource_address\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msource_address\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 202\u001b[0m \u001b[43m \u001b[49m\u001b[43msocket_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msocket_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 203\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 204\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m socket\u001b[38;5;241m.\u001b[39mgaierror \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\util\\connection.py:60\u001b[0m, in \u001b[0;36mcreate_connection\u001b[1;34m(address, timeout, source_address, socket_options)\u001b[0m\n\u001b[0;32m 58\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m LocationParseError(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mhost\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, label empty or too long\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m---> 60\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m \u001b[43msocket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetaddrinfo\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhost\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mport\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfamily\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msocket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSOCK_STREAM\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[0;32m 61\u001b[0m af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\socket.py:954\u001b[0m, in \u001b[0;36mgetaddrinfo\u001b[1;34m(host, port, family, type, proto, flags)\u001b[0m\n\u001b[0;32m 953\u001b[0m addrlist \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m--> 954\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m \u001b[43m_socket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetaddrinfo\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhost\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mport\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfamily\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mproto\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mflags\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[0;32m 955\u001b[0m af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n", + "\u001b[1;31mgaierror\u001b[0m: [Errno 11001] getaddrinfo failed", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[1;31mNameResolutionError\u001b[0m Traceback (most recent call last)", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connectionpool.py:793\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[0;32m 792\u001b[0m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[1;32m--> 793\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_request(\n\u001b[0;32m 794\u001b[0m conn,\n\u001b[0;32m 795\u001b[0m method,\n\u001b[0;32m 796\u001b[0m url,\n\u001b[0;32m 797\u001b[0m timeout\u001b[38;5;241m=\u001b[39mtimeout_obj,\n\u001b[0;32m 798\u001b[0m body\u001b[38;5;241m=\u001b[39mbody,\n\u001b[0;32m 799\u001b[0m headers\u001b[38;5;241m=\u001b[39mheaders,\n\u001b[0;32m 800\u001b[0m chunked\u001b[38;5;241m=\u001b[39mchunked,\n\u001b[0;32m 801\u001b[0m retries\u001b[38;5;241m=\u001b[39mretries,\n\u001b[0;32m 802\u001b[0m response_conn\u001b[38;5;241m=\u001b[39mresponse_conn,\n\u001b[0;32m 803\u001b[0m preload_content\u001b[38;5;241m=\u001b[39mpreload_content,\n\u001b[0;32m 804\u001b[0m decode_content\u001b[38;5;241m=\u001b[39mdecode_content,\n\u001b[0;32m 805\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mresponse_kw,\n\u001b[0;32m 806\u001b[0m )\n\u001b[0;32m 808\u001b[0m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connectionpool.py:491\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[1;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[0;32m 490\u001b[0m new_e \u001b[38;5;241m=\u001b[39m _wrap_proxy_error(new_e, conn\u001b[38;5;241m.\u001b[39mproxy\u001b[38;5;241m.\u001b[39mscheme)\n\u001b[1;32m--> 491\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m new_e\n\u001b[0;32m 493\u001b[0m \u001b[38;5;66;03m# conn.request() calls http.client.*.request, not the method in\u001b[39;00m\n\u001b[0;32m 494\u001b[0m \u001b[38;5;66;03m# urllib3.request. It also calls makefile (recv) on the socket.\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connectionpool.py:467\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[1;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[0;32m 466\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 467\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_validate_conn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 468\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (SocketTimeout, BaseSSLError) \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connectionpool.py:1099\u001b[0m, in \u001b[0;36mHTTPSConnectionPool._validate_conn\u001b[1;34m(self, conn)\u001b[0m\n\u001b[0;32m 1098\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m conn\u001b[38;5;241m.\u001b[39mis_closed:\n\u001b[1;32m-> 1099\u001b[0m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1101\u001b[0m \u001b[38;5;66;03m# TODO revise this, see https://github.com/urllib3/urllib3/issues/2791\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connection.py:616\u001b[0m, in \u001b[0;36mHTTPSConnection.connect\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 615\u001b[0m sock: socket\u001b[38;5;241m.\u001b[39msocket \u001b[38;5;241m|\u001b[39m ssl\u001b[38;5;241m.\u001b[39mSSLSocket\n\u001b[1;32m--> 616\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msock \u001b[38;5;241m=\u001b[39m sock \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_new_conn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 617\u001b[0m server_hostname: \u001b[38;5;28mstr\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connection.py:205\u001b[0m, in \u001b[0;36mHTTPConnection._new_conn\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 204\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m socket\u001b[38;5;241m.\u001b[39mgaierror \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 205\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m NameResolutionError(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost, \u001b[38;5;28mself\u001b[39m, e) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n\u001b[0;32m 206\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m SocketTimeout \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "\u001b[1;31mNameResolutionError\u001b[0m: : Failed to resolve 'huggingface.co' ([Errno 11001] getaddrinfo failed)", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[1;31mMaxRetryError\u001b[0m Traceback (most recent call last)", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\requests\\adapters.py:589\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[1;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[0;32m 588\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 589\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 590\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 591\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 592\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 593\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 594\u001b[0m \u001b[43m \u001b[49m\u001b[43mredirect\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 595\u001b[0m \u001b[43m \u001b[49m\u001b[43massert_same_host\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 596\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 597\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 598\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 599\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 600\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 601\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 603\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (ProtocolError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\connectionpool.py:847\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[0;32m 845\u001b[0m new_e \u001b[38;5;241m=\u001b[39m ProtocolError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnection aborted.\u001b[39m\u001b[38;5;124m\"\u001b[39m, new_e)\n\u001b[1;32m--> 847\u001b[0m retries \u001b[38;5;241m=\u001b[39m \u001b[43mretries\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mincrement\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 848\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merror\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_e\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_pool\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_stacktrace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msys\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexc_info\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[0;32m 849\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 850\u001b[0m retries\u001b[38;5;241m.\u001b[39msleep()\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\urllib3\\util\\retry.py:515\u001b[0m, in \u001b[0;36mRetry.increment\u001b[1;34m(self, method, url, response, error, _pool, _stacktrace)\u001b[0m\n\u001b[0;32m 514\u001b[0m reason \u001b[38;5;241m=\u001b[39m error \u001b[38;5;129;01mor\u001b[39;00m ResponseError(cause)\n\u001b[1;32m--> 515\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m MaxRetryError(_pool, url, reason) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mreason\u001b[39;00m \u001b[38;5;66;03m# type: ignore[arg-type]\u001b[39;00m\n\u001b[0;32m 517\u001b[0m log\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIncremented Retry for (url=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m): \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, url, new_retry)\n", + "\u001b[1;31mMaxRetryError\u001b[0m: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /NLPclass/Named-entity-recognition/resolve/main/config.json (Caused by NameResolutionError(\": Failed to resolve 'huggingface.co' ([Errno 11001] getaddrinfo failed)\"))", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mConnectionError\u001b[0m Traceback (most recent call last)", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:1722\u001b[0m, in \u001b[0;36m_get_metadata_or_catch_error\u001b[1;34m(repo_id, filename, repo_type, revision, endpoint, proxies, etag_timeout, headers, local_files_only, relative_filename, storage_folder)\u001b[0m\n\u001b[0;32m 1721\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m-> 1722\u001b[0m metadata \u001b[38;5;241m=\u001b[39m \u001b[43mget_hf_file_metadata\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mproxies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mproxies\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43metag_timeout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1723\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m EntryNotFoundError \u001b[38;5;28;01mas\u001b[39;00m http_error:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\utils\\_validators.py:114\u001b[0m, in \u001b[0;36mvalidate_hf_hub_args.._inner_fn\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 112\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m smoothly_deprecate_use_auth_token(fn_name\u001b[38;5;241m=\u001b[39mfn\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, has_token\u001b[38;5;241m=\u001b[39mhas_token, kwargs\u001b[38;5;241m=\u001b[39mkwargs)\n\u001b[1;32m--> 114\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:1645\u001b[0m, in \u001b[0;36mget_hf_file_metadata\u001b[1;34m(url, token, proxies, timeout, library_name, library_version, user_agent, headers)\u001b[0m\n\u001b[0;32m 1644\u001b[0m \u001b[38;5;66;03m# Retrieve metadata\u001b[39;00m\n\u001b[1;32m-> 1645\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43m_request_wrapper\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 1646\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mHEAD\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1647\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1648\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1649\u001b[0m \u001b[43m \u001b[49m\u001b[43mallow_redirects\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 1650\u001b[0m \u001b[43m \u001b[49m\u001b[43mfollow_relative_redirects\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 1651\u001b[0m \u001b[43m \u001b[49m\u001b[43mproxies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mproxies\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1652\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1653\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1654\u001b[0m hf_raise_for_status(r)\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:372\u001b[0m, in \u001b[0;36m_request_wrapper\u001b[1;34m(method, url, follow_relative_redirects, **params)\u001b[0m\n\u001b[0;32m 371\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m follow_relative_redirects:\n\u001b[1;32m--> 372\u001b[0m response \u001b[38;5;241m=\u001b[39m _request_wrapper(\n\u001b[0;32m 373\u001b[0m method\u001b[38;5;241m=\u001b[39mmethod,\n\u001b[0;32m 374\u001b[0m url\u001b[38;5;241m=\u001b[39murl,\n\u001b[0;32m 375\u001b[0m follow_relative_redirects\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 376\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mparams,\n\u001b[0;32m 377\u001b[0m )\n\u001b[0;32m 379\u001b[0m \u001b[38;5;66;03m# If redirection, we redirect only relative paths.\u001b[39;00m\n\u001b[0;32m 380\u001b[0m \u001b[38;5;66;03m# This is useful in case of a renamed repository.\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:395\u001b[0m, in \u001b[0;36m_request_wrapper\u001b[1;34m(method, url, follow_relative_redirects, **params)\u001b[0m\n\u001b[0;32m 394\u001b[0m \u001b[38;5;66;03m# Perform request and return if status_code is not in the retry list.\u001b[39;00m\n\u001b[1;32m--> 395\u001b[0m response \u001b[38;5;241m=\u001b[39m get_session()\u001b[38;5;241m.\u001b[39mrequest(method\u001b[38;5;241m=\u001b[39mmethod, url\u001b[38;5;241m=\u001b[39murl, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mparams)\n\u001b[0;32m 396\u001b[0m hf_raise_for_status(response)\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\requests\\sessions.py:589\u001b[0m, in \u001b[0;36mSession.request\u001b[1;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[0m\n\u001b[0;32m 588\u001b[0m send_kwargs\u001b[38;5;241m.\u001b[39mupdate(settings)\n\u001b[1;32m--> 589\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msend(prep, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39msend_kwargs)\n\u001b[0;32m 591\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\requests\\sessions.py:703\u001b[0m, in \u001b[0;36mSession.send\u001b[1;34m(self, request, **kwargs)\u001b[0m\n\u001b[0;32m 702\u001b[0m \u001b[38;5;66;03m# Send the request\u001b[39;00m\n\u001b[1;32m--> 703\u001b[0m r \u001b[38;5;241m=\u001b[39m adapter\u001b[38;5;241m.\u001b[39msend(request, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 705\u001b[0m \u001b[38;5;66;03m# Total elapsed time of the request (approximately)\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\utils\\_http.py:66\u001b[0m, in \u001b[0;36mUniqueRequestIdAdapter.send\u001b[1;34m(self, request, *args, **kwargs)\u001b[0m\n\u001b[0;32m 65\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m---> 66\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39msend(request, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 67\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mRequestException \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\requests\\adapters.py:622\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[1;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[0;32m 620\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SSLError(e, request\u001b[38;5;241m=\u001b[39mrequest)\n\u001b[1;32m--> 622\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(e, request\u001b[38;5;241m=\u001b[39mrequest)\n\u001b[0;32m 624\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m ClosedPoolError \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "\u001b[1;31mConnectionError\u001b[0m: (MaxRetryError('HTTPSConnectionPool(host=\\'huggingface.co\\', port=443): Max retries exceeded with url: /NLPclass/Named-entity-recognition/resolve/main/config.json (Caused by NameResolutionError(\": Failed to resolve \\'huggingface.co\\' ([Errno 11001] getaddrinfo failed)\"))'), '(Request ID: fb794297-ca58-4476-82ac-4b32fcf4aff8)')", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[1;31mLocalEntryNotFoundError\u001b[0m Traceback (most recent call last)", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\utils\\hub.py:402\u001b[0m, in \u001b[0;36mcached_file\u001b[1;34m(path_or_repo_id, filename, cache_dir, force_download, resume_download, proxies, token, revision, local_files_only, subfolder, repo_type, user_agent, _raise_exceptions_for_gated_repo, _raise_exceptions_for_missing_entries, _raise_exceptions_for_connection_errors, _commit_hash, **deprecated_kwargs)\u001b[0m\n\u001b[0;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 401\u001b[0m \u001b[38;5;66;03m# Load from URL or cache if already cached\u001b[39;00m\n\u001b[1;32m--> 402\u001b[0m resolved_file \u001b[38;5;241m=\u001b[39m \u001b[43mhf_hub_download\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 403\u001b[0m \u001b[43m \u001b[49m\u001b[43mpath_or_repo_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 404\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 405\u001b[0m \u001b[43m \u001b[49m\u001b[43msubfolder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43msubfolder\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m==\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43msubfolder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 406\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 407\u001b[0m \u001b[43m \u001b[49m\u001b[43mrevision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrevision\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 408\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_dir\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_dir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 409\u001b[0m \u001b[43m \u001b[49m\u001b[43muser_agent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muser_agent\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 410\u001b[0m \u001b[43m \u001b[49m\u001b[43mforce_download\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mforce_download\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 411\u001b[0m \u001b[43m \u001b[49m\u001b[43mproxies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mproxies\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 412\u001b[0m \u001b[43m \u001b[49m\u001b[43mresume_download\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresume_download\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 413\u001b[0m \u001b[43m \u001b[49m\u001b[43mtoken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtoken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 414\u001b[0m \u001b[43m \u001b[49m\u001b[43mlocal_files_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlocal_files_only\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 415\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 416\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m GatedRepoError \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\utils\\_validators.py:114\u001b[0m, in \u001b[0;36mvalidate_hf_hub_args.._inner_fn\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 112\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m smoothly_deprecate_use_auth_token(fn_name\u001b[38;5;241m=\u001b[39mfn\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, has_token\u001b[38;5;241m=\u001b[39mhas_token, kwargs\u001b[38;5;241m=\u001b[39mkwargs)\n\u001b[1;32m--> 114\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:1221\u001b[0m, in \u001b[0;36mhf_hub_download\u001b[1;34m(repo_id, filename, subfolder, repo_type, revision, library_name, library_version, cache_dir, local_dir, user_agent, force_download, proxies, etag_timeout, token, local_files_only, headers, endpoint, legacy_cache_layout, resume_download, force_filename, local_dir_use_symlinks)\u001b[0m\n\u001b[0;32m 1220\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1221\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_hf_hub_download_to_cache_dir\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 1222\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Destination\u001b[39;49;00m\n\u001b[0;32m 1223\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_dir\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_dir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1224\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# File info\u001b[39;49;00m\n\u001b[0;32m 1225\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1226\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfilename\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1227\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1228\u001b[0m \u001b[43m \u001b[49m\u001b[43mrevision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrevision\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1229\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# HTTP info\u001b[39;49;00m\n\u001b[0;32m 1230\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1231\u001b[0m \u001b[43m \u001b[49m\u001b[43mproxies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mproxies\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1232\u001b[0m \u001b[43m \u001b[49m\u001b[43metag_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43metag_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1233\u001b[0m \u001b[43m \u001b[49m\u001b[43mendpoint\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mendpoint\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1234\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Additional options\u001b[39;49;00m\n\u001b[0;32m 1235\u001b[0m \u001b[43m \u001b[49m\u001b[43mlocal_files_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlocal_files_only\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1236\u001b[0m \u001b[43m \u001b[49m\u001b[43mforce_download\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mforce_download\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1237\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:1325\u001b[0m, in \u001b[0;36m_hf_hub_download_to_cache_dir\u001b[1;34m(cache_dir, repo_id, filename, repo_type, revision, headers, proxies, etag_timeout, endpoint, local_files_only, force_download)\u001b[0m\n\u001b[0;32m 1324\u001b[0m \u001b[38;5;66;03m# Otherwise, raise appropriate error\u001b[39;00m\n\u001b[1;32m-> 1325\u001b[0m \u001b[43m_raise_on_head_call_error\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhead_call_error\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mforce_download\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlocal_files_only\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1327\u001b[0m \u001b[38;5;66;03m# From now on, etag, commit_hash, url and size are not None.\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\huggingface_hub\\file_download.py:1826\u001b[0m, in \u001b[0;36m_raise_on_head_call_error\u001b[1;34m(head_call_error, force_download, local_files_only)\u001b[0m\n\u001b[0;32m 1824\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 1825\u001b[0m \u001b[38;5;66;03m# Otherwise: most likely a connection issue or Hub downtime => let's warn the user\u001b[39;00m\n\u001b[1;32m-> 1826\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m LocalEntryNotFoundError(\n\u001b[0;32m 1827\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAn error happened while trying to locate the file on the Hub and we cannot find the requested files\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1828\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m in the local cache. Please check your connection and try again or make sure your Internet connection\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1829\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m is on.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1830\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mhead_call_error\u001b[39;00m\n", + "\u001b[1;31mLocalEntryNotFoundError\u001b[0m: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[1;31mOSError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[207], line 5\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtransformers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m pipeline\n\u001b[0;32m 4\u001b[0m \u001b[38;5;66;03m# Load the NER pipeline\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m ner_pipeline \u001b[38;5;241m=\u001b[39m \u001b[43mpipeline\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mner\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mNLPclass/Named-entity-recognition\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 7\u001b[0m \u001b[38;5;66;03m# Example text in Persian\u001b[39;00m\n\u001b[0;32m 8\u001b[0m text \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\u001b[38;5;124m شهرزادرشیدی\u001b[39m\n\u001b[0;32m 9\u001b[0m \u001b[38;5;124mکارشناسی مهندسی مکانیک دانشگاه شیراز\u001b[39m\n\u001b[0;32m 10\u001b[0m \u001b[38;5;124mمشخصاتفردی\u001b[39m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 34\u001b[0m \u001b[38;5;124mPython | متوسط MicrosoftWord | متوسط MicrosoftPowerpoint | متوسط\u001b[39m\n\u001b[0;32m 35\u001b[0m \u001b[38;5;124mMicrosoftExcel | متوسط AdobePhotoshop | متوس\u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\pipelines\\__init__.py:805\u001b[0m, in \u001b[0;36mpipeline\u001b[1;34m(task, model, config, tokenizer, feature_extractor, image_processor, framework, revision, use_fast, token, device, device_map, torch_dtype, trust_remote_code, model_kwargs, pipeline_class, **kwargs)\u001b[0m\n\u001b[0;32m 802\u001b[0m adapter_config \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mload(f)\n\u001b[0;32m 803\u001b[0m model \u001b[38;5;241m=\u001b[39m adapter_config[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbase_model_name_or_path\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m--> 805\u001b[0m config \u001b[38;5;241m=\u001b[39m AutoConfig\u001b[38;5;241m.\u001b[39mfrom_pretrained(\n\u001b[0;32m 806\u001b[0m model, _from_pipeline\u001b[38;5;241m=\u001b[39mtask, code_revision\u001b[38;5;241m=\u001b[39mcode_revision, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mhub_kwargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mmodel_kwargs\n\u001b[0;32m 807\u001b[0m )\n\u001b[0;32m 808\u001b[0m hub_kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_commit_hash\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m config\u001b[38;5;241m.\u001b[39m_commit_hash\n\u001b[0;32m 810\u001b[0m custom_tasks \u001b[38;5;241m=\u001b[39m {}\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\models\\auto\\configuration_auto.py:965\u001b[0m, in \u001b[0;36mAutoConfig.from_pretrained\u001b[1;34m(cls, pretrained_model_name_or_path, **kwargs)\u001b[0m\n\u001b[0;32m 962\u001b[0m trust_remote_code \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtrust_remote_code\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[0;32m 963\u001b[0m code_revision \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcode_revision\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m--> 965\u001b[0m config_dict, unused_kwargs \u001b[38;5;241m=\u001b[39m PretrainedConfig\u001b[38;5;241m.\u001b[39mget_config_dict(pretrained_model_name_or_path, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 966\u001b[0m has_remote_code \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mauto_map\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config_dict \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAutoConfig\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config_dict[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mauto_map\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m 967\u001b[0m has_local_code \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodel_type\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config_dict \u001b[38;5;129;01mand\u001b[39;00m config_dict[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodel_type\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;129;01min\u001b[39;00m CONFIG_MAPPING\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\configuration_utils.py:632\u001b[0m, in \u001b[0;36mPretrainedConfig.get_config_dict\u001b[1;34m(cls, pretrained_model_name_or_path, **kwargs)\u001b[0m\n\u001b[0;32m 630\u001b[0m original_kwargs \u001b[38;5;241m=\u001b[39m copy\u001b[38;5;241m.\u001b[39mdeepcopy(kwargs)\n\u001b[0;32m 631\u001b[0m \u001b[38;5;66;03m# Get config dict associated with the base config file\u001b[39;00m\n\u001b[1;32m--> 632\u001b[0m config_dict, kwargs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_get_config_dict(pretrained_model_name_or_path, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 633\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_commit_hash\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config_dict:\n\u001b[0;32m 634\u001b[0m original_kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_commit_hash\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m config_dict[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_commit_hash\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\configuration_utils.py:689\u001b[0m, in \u001b[0;36mPretrainedConfig._get_config_dict\u001b[1;34m(cls, pretrained_model_name_or_path, **kwargs)\u001b[0m\n\u001b[0;32m 685\u001b[0m configuration_file \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_configuration_file\u001b[39m\u001b[38;5;124m\"\u001b[39m, CONFIG_NAME) \u001b[38;5;28;01mif\u001b[39;00m gguf_file \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m gguf_file\n\u001b[0;32m 687\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 688\u001b[0m \u001b[38;5;66;03m# Load from local folder or from cache or download from model Hub and cache\u001b[39;00m\n\u001b[1;32m--> 689\u001b[0m resolved_config_file \u001b[38;5;241m=\u001b[39m \u001b[43mcached_file\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 690\u001b[0m \u001b[43m \u001b[49m\u001b[43mpretrained_model_name_or_path\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 691\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfiguration_file\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 692\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_dir\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_dir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 693\u001b[0m \u001b[43m \u001b[49m\u001b[43mforce_download\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mforce_download\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 694\u001b[0m \u001b[43m \u001b[49m\u001b[43mproxies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mproxies\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 695\u001b[0m \u001b[43m \u001b[49m\u001b[43mresume_download\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresume_download\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 696\u001b[0m \u001b[43m \u001b[49m\u001b[43mlocal_files_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlocal_files_only\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 697\u001b[0m \u001b[43m \u001b[49m\u001b[43mtoken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtoken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 698\u001b[0m \u001b[43m \u001b[49m\u001b[43muser_agent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muser_agent\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 699\u001b[0m \u001b[43m \u001b[49m\u001b[43mrevision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrevision\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 700\u001b[0m \u001b[43m \u001b[49m\u001b[43msubfolder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msubfolder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 701\u001b[0m \u001b[43m \u001b[49m\u001b[43m_commit_hash\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcommit_hash\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 702\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 703\u001b[0m commit_hash \u001b[38;5;241m=\u001b[39m extract_commit_hash(resolved_config_file, commit_hash)\n\u001b[0;32m 704\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mEnvironmentError\u001b[39;00m:\n\u001b[0;32m 705\u001b[0m \u001b[38;5;66;03m# Raise any environment error raise by `cached_file`. It will have a helpful error message adapted to\u001b[39;00m\n\u001b[0;32m 706\u001b[0m \u001b[38;5;66;03m# the original exception.\u001b[39;00m\n", + "File \u001b[1;32mc:\\Users\\RGS\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\utils\\hub.py:445\u001b[0m, in \u001b[0;36mcached_file\u001b[1;34m(path_or_repo_id, filename, cache_dir, force_download, resume_download, proxies, token, revision, local_files_only, subfolder, repo_type, user_agent, _raise_exceptions_for_gated_repo, _raise_exceptions_for_missing_entries, _raise_exceptions_for_connection_errors, _commit_hash, **deprecated_kwargs)\u001b[0m\n\u001b[0;32m 439\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[0;32m 440\u001b[0m resolved_file \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 441\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m _raise_exceptions_for_missing_entries\n\u001b[0;32m 442\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m _raise_exceptions_for_connection_errors\n\u001b[0;32m 443\u001b[0m ):\n\u001b[0;32m 444\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resolved_file\n\u001b[1;32m--> 445\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mEnvironmentError\u001b[39;00m(\n\u001b[0;32m 446\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWe couldn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt connect to \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mHUGGINGFACE_CO_RESOLVE_ENDPOINT\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m to load this file, couldn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt find it in the\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 447\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m cached files and it looks like \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath_or_repo_id\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m is not the path to a directory containing a file named\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 448\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfull_filename\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124mCheckout your internet connection or see how to run the library in offline mode at\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 449\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhttps://huggingface.co/docs/transformers/installation#offline-mode\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 450\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n\u001b[0;32m 451\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m EntryNotFoundError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 452\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m _raise_exceptions_for_missing_entries:\n", + "\u001b[1;31mOSError\u001b[0m: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like NLPclass/Named-entity-recognition is not the path to a directory containing a file named config.json.\nCheckout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'." + ] + } + ], + "source": [ + "import torch\n", + "from transformers import pipeline\n", + "\n", + "# Load the NER pipeline\n", + "ner_pipeline = pipeline(\"ner\", model=\"NLPclass/Named-entity-recognition\")\n", + "\n", + "# Example text in Persian\n", + "text = \"\"\" شهرزادرشیدی\n", + "کارشناسی مهندسی مکانیک دانشگاه شیراز\n", + "مشخصاتفردی\n", + "سن: 32 سال\n", + "جنسیت: زن\n", + "وضعیت تاهل: مجرد\n", + "اطلاعاتتماس\n", + "تلفن: -----\n", + "موبا3ل: 09375189968\n", + "Shahrzadr119@gmail.com :ایمیل\n", + "شیراز - بلوار مدرس_فضل آباد_کوچه\n", + "14_پلاک 312\n", + "محل سکونت:\n", + "لینکد3ن: -\n", + "حقوق و سابقهکاری\n", + "میزان سابقه کاری: -----\n", + "حقوق: 3 - 2 میلیون تومان\n", + "www.jobvision.ir\n", + "Vروز رسانی رزومه: 18 خرداد1402\n", + "شناسه کارVری: -73900260JV\n", + "سوابق تحصیلی\n", + "زبانهای خارجی\n", + "نرم افزارها\n", + "کارشناسی - مهندسی مکانیک 1397 - 1391\n", + "دانشگاه شیراز\n", + "انگلیسی | بالاتر از متوسط ٪۷۰\n", + "Python | متوسط MicrosoftWord | متوسط MicrosoftPowerpoint | متوسط\n", + "MicrosoftExcel | متوسط AdobePhotoshop | متوس\"\"\"\n", + "\n", + "# Perform NER\n", + "entities = ner_pipeline(text)\n", + "\n", + "# Output the entities\n", + "print(entities)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "yYKocOpuO97s" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tf", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file