{"id":289815,"date":"2018-09-24T13:55:02","date_gmt":"2018-09-24T09:55:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=289815"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=289815","title":{"rendered":"\u041f\u0440\u043e\u0441\u0442\u043e \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u044f\u0437\u044b\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b5d\/97b\/37e\/b5d97b37ec0ea5fce5bf22200c96fdb3.png\" align=\"right\" width=\"320\">  <\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"http:\/\/youscan.io\/\">YouScan<\/a> \u0432 \u0434\u0435\u043d\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043a\u043e\u043b\u043e 100 \u043c\u043b\u043d. \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043c\u0430\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044f\u0437\u044b\u043a, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044f\u0437\u044b\u043a\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e \u043d\u0430\u0448\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u043c \u043e\u0446\u0435\u043d\u043a\u0443 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u0438\u0437 \u0441\u043e\u0446. \u0441\u0435\u0442\u0435\u0439.<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h4 id=\"plan-stati\">\u041f\u043b\u0430\u043d \u0441\u0442\u0430\u0442\u044c\u0438<\/h4>\n<p>  <\/p>\n<ol>\n<li>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430<\/li>\n<li>\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<br \/> \n<ul>\n<li>Compact Language Detector 2<\/li>\n<li>FastText<\/li>\n<\/ul>\n<\/li>\n<li>\u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430<\/li>\n<li>\u0412\u044b\u0432\u043e\u0434\u044b<\/li>\n<\/ol>\n<p>  <\/p>\n<h2 id=\"1-problemy-opredeleniya-yazyka\">1. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430<\/h2>\n<p>  <\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0440\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0435\u0435 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0448\u0430\u0442\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u0411\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043d-\u0433\u0440\u0430\u043c\u043c\u0430\u0445, \u043a\u043e\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043a-\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043d-\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f &#171;\u0441\u043a\u043e\u0440&#187; \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u043e \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f \u0441\u0445\u043e\u0436\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442\u0441\u044f. \u041d\u043e \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0414\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439, \u2013 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0435\u043a\u0443\u0440\u0440\u0435\u043d\u0442\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445. \u0414\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043d-\u0433\u0440\u0430\u043c\u043c\u0430\u0445, \u0430 \u0438 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<p>  <\/p>\n<p>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0421\u0430\u043c\u044b\u0439 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0432\u044b\u0445\u043e\u0434 \u2013 \u043e\u0431\u0443\u0447\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0435\u043c \u044f\u0437\u044b\u043a \u0438 \u0442\u0430\u043c \u043e\u0447\u0435\u043d\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c. \u0410 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0441\u0435\u0442, \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043a\u0442\u043e-\u0442\u043e \u0443\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0430\u0441. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0431\u043b\u043e\u043a\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<h2 id=\"2-dostupnye-publichnye-resheniya\">2. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n<p>  <\/p>\n<h3 id=\"compact-language-detector-2\">Compact Language Detector 2<\/h3>\n<p>  <\/p>\n<p><a href=\"https:\/\/github.com\/CLD2Owners\/cld2\">CLD2<\/a> \u2013 \u044d\u0442\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (\u041d\u0430\u0438\u0432\u043d\u044b\u0439 \u0411\u0430\u0435\u0441\u0441\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c 83 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 UTF-8 \u0438\u043b\u0438 html\/xml. \u0414\u043b\u044f \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u043e\u043f-3 \u044f\u0437\u044b\u043a\u0430, \u0433\u0434\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0442\u0435\u043a\u0441\u0442\u0430 \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0431\u0430\u0439\u0442. \u0415\u0441\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u0430 \u0432 \u0441\u0432\u043e\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0435, \u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u0435\u0433 &#171;unc&#187;. <\/p>\n<p>  <\/p>\n<p>\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043d\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u2013 \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 \u0437\u0430\u044f\u0432\u043b\u044f\u044e\u0442 \u043f\u0440\u043e 30\u043a\u0431 \u0432 1ms, \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u043e\u0439 \u043e\u0431\u0435\u0440\u0442\u043a\u0438 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043e\u0442 21 \u0434\u043e 26\u043a\u0431 \u0432 1ms (70000-85000 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 0.8\u043a\u0431, \u0430 \u043c\u0435\u0434\u0438\u0430\u043d\u0430 \u2013 0.3\u043a\u0431).<\/p>\n<p>  <\/p>\n<p>\u0414\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e <a href=\"https:\/\/pypi.org\/project\/pycld2\/\">\u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0443\u044e \u043e\u0431\u0435\u0440\u0442\u043a\u0443<\/a> \u0438\u043b\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/github.com\/YouScan\/language-identification-article\">\u043d\u0430\u0448\u0438\u043c \u0434\u043e\u043a\u0435\u0440\u043e\u043c<\/a>. <\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u043d\u043e\u0437, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <code>pycld2<\/code> \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e cld2<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">import pycld2 as cld2 cld2.detect(\"Bonjour, Habr!\") # (True, # 14, # (('FRENCH', 'fr', 92, 1102.0), #  ('Unknown', 'un', 0, 0.0), #  ('Unknown', 'un', 0, 0.0)))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041e\u0442\u0432\u0435\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u2013 \u044d\u0442\u043e tuple \u0438\u0437 \u0442\u0440\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u044f\u0437\u044b\u043a \u0438\u043b\u0438 \u043d\u0435\u0442;<\/li>\n<li>\u043a-\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432;<\/li>\n<li>tuple \u0438\u0437 \u0442\u0440\u0435\u0445 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432, \u0433\u0434\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0438\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435,<br \/>  \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u2013 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 ISO 3166 Codes, \u043d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u2013 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u0440\u0435\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u044f\u0437\u044b\u043a\u0443, \u043d\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u043c \u2013 \u043a-\u0432\u043e \u0431\u0430\u0439\u0442.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3 id=\"fasttext\">FastText<\/h3>\n<p>  <\/p>\n<p><a href=\"https:\/\/github.com\/facebookresearch\/fastText\">FastText<\/a> \u2013 \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u0444\u0435\u0439\u0441\u0431\u0443\u043a\u043e\u043c \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0444\u0435\u0439\u0441\u0431\u0443\u043a \u0440\u0435\u0441\u0435\u0440\u0447 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u043b\u044f 157 \u044f\u0437\u044b\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 state-of-the-art \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0443\u043f\u0435\u0440\u0432\u0430\u0439\u0437\u0434 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f <a href=\"https:\/\/fasttext.cc\/docs\/en\/language-identification.html\">\u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430<\/a> \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 Wikipedia, Tatoeba and SETimes, \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u2013 \u0441\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0444\u0430\u0441\u0442\u0442\u0435\u043a\u0441\u0442\u0435. <\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0444\u0435\u0439\u0441\u0431\u0443\u043a \u0440\u0435\u0441\u0435\u0440\u0447 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0434\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/s3-us-west-1.amazonaws.com\/fasttext-vectors\/supervised_models\/lid.176.bin\">lid.176.bin<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u043e \u0432\u0435\u0441\u0438\u0442 128\u041c\u0431;<\/li>\n<li><a href=\"https:\/\/s3-us-west-1.amazonaws.com\/fasttext-vectors\/supervised_models\/lid.176.ftz\">lid.176.ftz<\/a> \u2013 \u0441\u0436\u0430\u0442\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u043f\u0438\u0442\u043e\u043d\u0435, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c <a href=\"https:\/\/github.com\/vrasneur\/pyfasttext\">\u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0443\u044e \u043e\u0431\u0435\u0440\u0442\u043a\u0443 \u0434\u043b\u044f \u0444\u0430\u0441\u0442\u0442\u0435\u043a\u0441\u0442\u0430<\/a>. \u041c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435 \u0438\u043b\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/github.com\/YouScan\/language-identification-article\">\u043d\u0430\u0448\u0438\u043c \u0434\u043e\u043a\u0435\u0440\u043e\u043c<\/a>. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u0432\u044b\u0448\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>  <\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0437\u044b\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u0442 \u0433\u0443\u0433\u043b\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0443\u0436\u0435 \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0434\u0435\u043b\u0438 FastText<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">from pyfasttext import FastText model = FastText('..\/model\/lid.176.bin') model.predict_proba([\"Bonjour, Habr!\"], 3) #[[('fr', 0.7602248429835308), #  ('en', 0.05550386696556002), #  ('ca', 0.04721488914800802)]]<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c FastText&#8217;a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f n-\u044f\u0437\u044b\u043a\u043e\u0432, \u0433\u0434\u0435 \u043f\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u0443 n=1, \u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0432\u044b\u0432\u0435\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f \u0442\u043e\u043f-3 \u044f\u0437\u044b\u043a\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0442\u043e \u0443\u0436\u0435 \u043e\u0431\u0449\u0430\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430, \u0430 \u043d\u0435 \u043a-\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u044f\u0437\u044b\u043a\u0443, \u043a\u0430\u043a \u0431\u044b\u043b\u043e \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 cld2. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u043e\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u2013 \u0431\u043e\u043b\u044c\u0448\u0435 60000 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.<\/p>\n<p>  <\/p>\n<h2 id=\"3-ocenka-kachestva\">3. \u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430<\/h2>\n<p>  <\/p>\n<p>\u041e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u043e\u0446.\u0441\u0435\u0442\u0435\u0439 \u0437\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0432\u0437\u044f\u0442\u044b\u0445 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b <a href=\"https:\/\/youscan.io\/\">YouScan<\/a> (\u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e 500 \u0442\u044b\u0441\u044f\u0447 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0439), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u043e\u0432, 43% \u0438 32% \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0443\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u043e\u0433\u043e, \u0438\u0441\u043f\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0438 \u043f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u2013 \u043e\u043a\u043e\u043b\u043e 2% \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0438\u0437 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043c\u0435\u043d\u044c\u0448\u0435 1%. \u0417\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0430\u0440\u0433\u0435\u0442 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 google translate, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0433\u0443\u0433\u043b \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c, \u0430 \u0438 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u044f\u0437\u044b\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043d\u0435\u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0430, \u043d\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u043b\u043d\u043e\u0442\u0430 \u0438 f1. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0438\u0445 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u0432\u0443\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">with open(\"..\/data\/lang_data.txt\", \"r\") as f:     text_l, cld2_l, ft_l, g_l = [], [], [], []     s = ''     for i in f:         s += i         if ' |end\\n' in s:             text, cld2, ft, g = s.strip().rsplit(\" ||| \", 3)             text_l.append(text)             cld2_l.append(cld2)             ft_l.append(ft)             g_l.append(g.replace(\" |end\", \"\"))             s='' data = pd.DataFrame({\"text\": text_l, \"cld2\": cld2_l, \"ft\": ft_l, \"google\": g_l})  def lang_summary(lang, col):     prec = (data.loc[data[col] == lang, \"google\"] == data.loc[data[col] == lang, col]).mean()     rec = (data.loc[data[\"google\"] == lang, \"google\"] == data.loc[data[\"google\"] == lang, col]).mean()     return round(prec, 3), round(rec, 3), round(2*prec*rec \/ (prec + rec),3)  results = {} for approach in [\"cld2\", \"ft\"]:     results[approach] = {}     for l in data[\"google\"].value_counts().index[:20]:         results[approach][l] = lang_summary(l, approach)  res = pd.DataFrame.from_dict(results) res[\"cld2_prec\"], res[\"cld2_rec\"], res[\"cld2_f1\"] = res[\"cld2\"].apply(lambda x: [x[0], x[1], x[2]]).str res[\"ft_prec\"], res[\"ft_rec\"], res[\"ft_f1\"] = res[\"ft\"].apply(lambda x: [x[0], x[1], x[2]]).str res.drop(columns=[\"cld2\", \"ft\"], inplace=True)  arrays = [['cld2', 'cld2', 'cld2', 'ft', 'ft', 'ft'],           ['precision', 'recall', 'f1_score', 'precision', 'recall', 'f1_score']] tuples = list(zip(*arrays)) res.columns = pd.MultiIndex.from_tuples(tuples, names=[\"approach\", \"metrics\"])<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<table>\n<thead>\n<tr>\n<th>model<\/th>\n<th><\/th>\n<th>cld2<\/th>\n<th><\/th>\n<th><\/th>\n<th>ft<\/th>\n<th><\/th>\n<th><\/th>\n<th>ans<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>metrics<\/td>\n<td>prec<\/td>\n<td>rec<\/td>\n<td>f1<\/td>\n<td>prec<\/td>\n<td>rec<\/td>\n<td>f1<\/td>\n<td>prec<\/td>\n<td>rec<\/td>\n<td>f1<\/td>\n<\/tr>\n<tr>\n<td>ar<\/td>\n<td><strong>0.992<\/strong><\/td>\n<td>0.725<\/td>\n<td>0.838<\/td>\n<td>0.918<\/td>\n<td>0.697<\/td>\n<td>0.793<\/td>\n<td>0.968<\/td>\n<td><strong>0.788<\/strong><\/td>\n<td><strong>0.869<\/strong><\/td>\n<\/tr>\n<tr>\n<td>az<\/td>\n<td><strong>0.95<\/strong><\/td>\n<td>0.752<\/td>\n<td>0.839<\/td>\n<td>0.888<\/td>\n<td>0.547<\/td>\n<td>0.677<\/td>\n<td>0.914<\/td>\n<td><strong>0.787<\/strong><\/td>\n<td><strong>0.845<\/strong><\/td>\n<\/tr>\n<tr>\n<td>bg<\/td>\n<td><strong>0.529<\/strong><\/td>\n<td>0.136<\/td>\n<td>0.217<\/td>\n<td>0.286<\/td>\n<td>0.178<\/td>\n<td>0.219<\/td>\n<td>0.408<\/td>\n<td><strong>0.214<\/strong><\/td>\n<td><strong>0.281<\/strong><\/td>\n<\/tr>\n<tr>\n<td>en<\/td>\n<td><strong>0.949<\/strong><\/td>\n<td>0.844<\/td>\n<td>0.894<\/td>\n<td>0.885<\/td>\n<td>0.869<\/td>\n<td>0.877<\/td>\n<td>0.912<\/td>\n<td><strong>0.925<\/strong><\/td>\n<td><strong>0.918<\/strong><\/td>\n<\/tr>\n<tr>\n<td>es<\/td>\n<td><strong>0.987<\/strong><\/td>\n<td>0.653<\/td>\n<td>0.786<\/td>\n<td>0.709<\/td>\n<td>0.814<\/td>\n<td>0.758<\/td>\n<td>0.828<\/td>\n<td><strong>0.834<\/strong><\/td>\n<td><strong>0.831<\/strong><\/td>\n<\/tr>\n<tr>\n<td>fr<\/td>\n<td><strong>0.991<\/strong><\/td>\n<td>0.713<\/td>\n<td><strong>0.829<\/strong><\/td>\n<td>0.53<\/td>\n<td>0.803<\/td>\n<td>0.638<\/td>\n<td>0.713<\/td>\n<td><strong>0.81<\/strong><\/td>\n<td>0.758<\/td>\n<\/tr>\n<tr>\n<td>id<\/td>\n<td><strong>0.763<\/strong><\/td>\n<td>0.543<\/td>\n<td><strong>0.634<\/strong><\/td>\n<td>0.481<\/td>\n<td>0.404<\/td>\n<td>0.439<\/td>\n<td>0.659<\/td>\n<td><strong>0.603<\/strong><\/td>\n<td>0.63<\/td>\n<\/tr>\n<tr>\n<td>it<\/td>\n<td><strong>0.975<\/strong><\/td>\n<td>0.466<\/td>\n<td>0.631<\/td>\n<td>0.519<\/td>\n<td>0.778<\/td>\n<td>0.622<\/td>\n<td>0.666<\/td>\n<td><strong>0.752<\/strong><\/td>\n<td><strong>0.706<\/strong><\/td>\n<\/tr>\n<tr>\n<td>ja<\/td>\n<td><strong>0.994<\/strong><\/td>\n<td>0.899<\/td>\n<td><strong>0.944<\/strong><\/td>\n<td>0.602<\/td>\n<td>0.842<\/td>\n<td>0.702<\/td>\n<td>0.847<\/td>\n<td><strong>0.905<\/strong><\/td>\n<td>0.875<\/td>\n<\/tr>\n<tr>\n<td>ka<\/td>\n<td><strong>0.962<\/strong><\/td>\n<td>0.995<\/td>\n<td><strong>0.979<\/strong><\/td>\n<td>0.959<\/td>\n<td>0.905<\/td>\n<td>0.931<\/td>\n<td>0.958<\/td>\n<td><strong>0.995<\/strong><\/td>\n<td>0.976<\/td>\n<\/tr>\n<tr>\n<td>kk<\/td>\n<td><strong>0.908<\/strong><\/td>\n<td>0.653<\/td>\n<td>0.759<\/td>\n<td>0.804<\/td>\n<td>0.584<\/td>\n<td>0.677<\/td>\n<td>0.831<\/td>\n<td><strong>0.713<\/strong><\/td>\n<td><strong>0.767<\/strong><\/td>\n<\/tr>\n<tr>\n<td>ko<\/td>\n<td><strong>0.984<\/strong><\/td>\n<td>0.886<\/td>\n<td>0.933<\/td>\n<td>0.94<\/td>\n<td>0.704<\/td>\n<td>0.805<\/td>\n<td>0.966<\/td>\n<td><strong>0.91<\/strong><\/td>\n<td><strong>0.937<\/strong><\/td>\n<\/tr>\n<tr>\n<td>ms<\/td>\n<td><strong>0.801<\/strong><\/td>\n<td>0.578<\/td>\n<td><strong>0.672<\/strong><\/td>\n<td>0.369<\/td>\n<td>0.101<\/td>\n<td>0.159<\/td>\n<td>0.73<\/td>\n<td><strong>0.586<\/strong><\/td>\n<td>0.65<\/td>\n<\/tr>\n<tr>\n<td>pt<\/td>\n<td><strong>0.968<\/strong><\/td>\n<td>0.753<\/td>\n<td>0.847<\/td>\n<td>0.805<\/td>\n<td>0.771<\/td>\n<td>0.788<\/td>\n<td>0.867<\/td>\n<td><strong>0.864<\/strong><\/td>\n<td><strong>0.865<\/strong><\/td>\n<\/tr>\n<tr>\n<td>ru<\/td>\n<td><strong>0.987<\/strong><\/td>\n<td>0.809<\/td>\n<td>0.889<\/td>\n<td>0.936<\/td>\n<td>0.933<\/td>\n<td>0.935<\/td>\n<td>0.953<\/td>\n<td><strong>0.948<\/strong><\/td>\n<td><strong>0.95<\/strong><\/td>\n<\/tr>\n<tr>\n<td>sr<\/td>\n<td>0.093<\/td>\n<td>0.114<\/td>\n<td>0.103<\/td>\n<td><strong>0.174<\/strong><\/td>\n<td>0.103<\/td>\n<td>0.13<\/td>\n<td>0.106<\/td>\n<td><strong>0.16<\/strong><\/td>\n<td><strong>0.128<\/strong><\/td>\n<\/tr>\n<tr>\n<td>th<\/td>\n<td><strong>0.989<\/strong><\/td>\n<td>0.986<\/td>\n<td><strong>0.987<\/strong><\/td>\n<td>0.973<\/td>\n<td>0.927<\/td>\n<td>0.95<\/td>\n<td>0.979<\/td>\n<td><strong>0.986<\/strong><\/td>\n<td>0.983<\/td>\n<\/tr>\n<tr>\n<td>tr<\/td>\n<td><strong>0.961<\/strong><\/td>\n<td>0.639<\/td>\n<td><strong>0.768<\/strong><\/td>\n<td>0.607<\/td>\n<td>0.73<\/td>\n<td>0.663<\/td>\n<td>0.769<\/td>\n<td><strong>0.764<\/strong><\/td>\n<td>0.767<\/td>\n<\/tr>\n<tr>\n<td>uk<\/td>\n<td><strong>0.949<\/strong><\/td>\n<td>0.671<\/td>\n<td><strong>0.786<\/strong><\/td>\n<td>0.615<\/td>\n<td>0.733<\/td>\n<td>0.669<\/td>\n<td>0.774<\/td>\n<td><strong>0.777<\/strong><\/td>\n<td>0.775<\/td>\n<\/tr>\n<tr>\n<td>uz<\/td>\n<td>0.666<\/td>\n<td>0.512<\/td>\n<td>0.579<\/td>\n<td><strong>0.77<\/strong><\/td>\n<td>0.169<\/td>\n<td>0.278<\/td>\n<td>0.655<\/td>\n<td><strong>0.541<\/strong><\/td>\n<td><strong>0.592<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>  <\/p>\n<p>\u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 cld2 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043d\u0435\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043e\u043d\u0430 \u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0438\u0436\u0435 90%, \u0438 \u0432 90% \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u0443 fasttext&#8217;a. \u041f\u0440\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0442\u0435 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432, f1 \u0441\u043a\u043e\u0440 \u0431\u043e\u043b\u044c\u0448\u0435 \u0443 cld2.<br \/>  \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c cld2 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0430 \u0432\u044b\u0434\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u043e\u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d\u0430, \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c. \u041c\u043e\u0434\u0435\u043b\u044c fasttext&#8217;a \u0432\u044b\u0434\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0438\u0436\u0435, \u043d\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0442\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u0448\u0435, \u0430 \u0432 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u2013 \u043d\u0438\u0436\u0435. \u041d\u043e \u0435\u0441\u043b\u0438 &#171;\u043f\u043e\u0434\u043a\u0440\u0443\u0442\u0438\u0442\u044c&#187; \u043f\u043e\u0440\u043e\u0433 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438 fasttext&#8217;a, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<h2 id=\"4-vyvody\">4. \u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>  <\/p>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u043e\u0431\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u044e\u0442 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u0430\u0445. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0438\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u2013 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 &#171;\u0430\u043d\u0441\u0430\u043c\u0431\u043b\u044c&#187; \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0438\u043d\u0433 \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430. <\/p>\n<p>  <\/p>\n<p>\u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u0432\u044b\u0448\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/github.com\/YouScan\/language-identification-article\">\u043d\u0430\u0448\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 <a href=\"https:\/\/tech.people-doc.com\/how-to-detect-western-language-with-python.html\">\u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u0433\u0434\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043d\u0430 6 \u0437\u0430\u043f\u0430\u0434\u043d\u043e\u0435\u0432\u0440\u043e\u043f\u0435\u0439\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445.<\/p>\n<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/423569\/\"> https:\/\/habr.com\/post\/423569\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b5d\/97b\/37e\/b5d97b37ec0ea5fce5bf22200c96fdb3.png\" align=\"right\" width=\"320\">  <\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"http:\/\/youscan.io\/\">YouScan<\/a> \u0432 \u0434\u0435\u043d\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043a\u043e\u043b\u043e 100 \u043c\u043b\u043d. \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043c\u0430\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044f\u0437\u044b\u043a, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044f\u0437\u044b\u043a\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e \u043d\u0430\u0448\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u043c \u043e\u0446\u0435\u043d\u043a\u0443 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u0438\u0437 \u0441\u043e\u0446. \u0441\u0435\u0442\u0435\u0439.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-289815","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/289815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=289815"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/289815\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=289815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=289815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=289815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}