{"id":383904,"date":"2024-06-29T05:10:31","date_gmt":"2024-06-29T05:10:31","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=383904"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=383904","title":{"rendered":"<span>How to find an English teacher. Part\u00a02<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/p2\/ok\/im\/p2okim-91yng_hkys-zxffxyg4q.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/p2\/ok\/im\/p2okim-91yng_hkys-zxffxyg4q.png\"\/><\/p>\n<p>  This is a continuation of story about using Data Science for finding an English teacher. If you have not read it yet\u200a-\u200a<a href=\"https:\/\/habr.com\/en\/post\/509114\/\">there<\/a> is an opportunity to become familiar with it <\/p>\n<p>  Briefly \u200a- \u200awe had information about language teachers and tried to apply some basic ideas using pandas and our expectations. Unfortunately we got stuck on the third step, because there is not enough information for resolving our the last requirements\u200a -\u200a we need not more 3 candidates at the end.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Disclaimer<\/b>                         <\/p>\n<div class=\"spoiler_text\">It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.  <\/div>\n<\/p><\/div>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h2><font color=\"#13799B\"> Step 4. Wisdom of crowd<\/font><\/h2>\n<p>  Well, it is a bit harder than expected\u2026<\/p>\n<p>  Despite the fact of having some information about teachers\u200a -\u200a we could not blindly believe in it. In the previous step, we made judgments\/conclusions about the experience from a text description. And it makes sense when we consider something which can be verified(more or less). <\/p>\n<p>  But if we want to choose \u00abTOP 3\u00bb from 7 teachers, and we only stick with the description which has been provided\u200a-\u200amistakes are bound to happen. The reason can be illustrated \u200athe famous saying <b> \u00abEvery cook praises his own broth\u00bb<\/b>. And there is a remote chance that people will say negative things about themselves. So that we need to add some related information like reviews. Firstly, we fetch them.<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/0e7d888f9cdd299c7ff4f94b3c99dcd6.js\"><\/script><\/div>\n<p>  <\/p>\n<h3><font color=\"#4D9AB3\">Amount of\u00a0lessons<\/font><\/h3>\n<p>  The first important moment\u200a-\u200ahow many lessons did students have with a particular teacher? They could write amazing reviews, but will not book classes any more. I presume it is a very correlated moment with the experience of a teacher. Let&#8217;s have a look at it.<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/5045318afb5a221f23d0651c5234ec96.js\"><\/script><\/div>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/7r\/wu\/0b\/7rwu0bite2z7xmrmemh_ghpca2e.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/7r\/wu\/0b\/7rwu0bite2z7xmrmemh_ghpca2e.png\"\/>  <\/p>\n<p><i>According to an average number of lessons, a person from South Africa has got more loyal students than\u00a0other.<\/i><\/p>\n<h3><font color=\"#4D9AB3\"> We need to go\u00a0deeper\u2026<\/font><\/h3>\n<p>  On the one hand, people like to write a review and language learners as well. On the other hand\u200a-\u200athese reviews very frequently are simple and look like \u00abA good teacher\u00bb, \u00abThank you\u00bb, \u00abThe best lesson\u00bb, etc.<br \/>  And\u2026 to be honest\u200a-\u200athe majority of reviews are similar to each other and are not seductive for us. We can try to classify it(sentiment analysis) but it still would be more about emotions than facts. Let&#8217;s look at this from another perspective.<\/p>\n<p>  Instead of reading excited(or disappointed) reviews\u200a-\u200awe try to understand the structure. Before we worked with text by using regular expressions. Shall we use something more powerful for reaching our goal?<\/p>\n<p>  Perhaps\u2026 some NLP will harm nobody.<\/p>\n<p>  I believe that a good review ought to contain a variety of lexicon and vocabulary. Things like \u00abPresent\/Past perfect\u00bb, \u00abConditionals\u00bb, \u00abPast participle\u00bb, \u00abFuture tense\u00bb are good signs, which point at the ability of students to express their opinion in an eloquent way.\u00a0<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/267a8415e9cf83969113bc04446fc72c.js\"><\/script><\/div>\n<p>  \u00abAdapted complexity of speech\u00bb represents how students of a specific teacher could express their thoughts. <\/p>\n<p>  In other words, we try to handle it in an unusual way, ignoring <i> \u00abwhat exactly do people write?\u00bb<\/i>, or &#171;<i>what do they feel about a lesson&#187;<\/i>. \u00a0<\/p>\n<p>  Instead of it, let&#8217;s try to understand <i>\u00abHOW their speech was expressed\u00bb<\/i> and to find a teacher who has the most sophisticated reviews.\u00a0<\/p>\n<p>  And then, rearrange teachers by this principle.<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/1d9daba1eb181d489e40643413a18051.js\"><\/script><\/div>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/6l\/gt\/mx\/6lgtmxrionpjrk-cyv2y2gvddj0.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/6l\/gt\/mx\/6lgtmxrionpjrk-cyv2y2gvddj0.png\"\/><br \/>  <i>Students of teachers from unknown country(ZZ) and Greece(GR) tend to write more complex reviews than others. <\/i><\/p>\n<h2><font color=\"#13799B\">Step 5. Time for big\u00a0guns.<\/font><\/h2>\n<p>  It is a well-known fact that students want to learn from the best teacher. However\u2026 I would rather learn from teachers who taught guys gained the B2 level or upper. And in my opinion, we could assess the level of students from their reviews.<\/p>\n<p>  There is an amazing dataset of information\u200a-\u200a <a href=\"https:\/\/corpus.mml.cam.ac.uk\/efcamdat2\/\">EF-Cambridge Open Language Database<\/a>. And the point is that it contains a huge set of combinations \u00aban expression \u2014 a language proficiency level\u00bb<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">About levels of language proficiency<\/b>                         <\/p>\n<div class=\"spoiler_text\">According to the Common European Framework of Reference for Languages (CEFR) there some levels of proficiency of learners. Basic(A1,A2), Intermediate(B1,B2), Advanced(C1,C2).   <\/div>\n<\/p><\/div>\n<p>  We will use an LSTM\u200a-\u200anetwork, which has been trained on this dataset (it is a completely different story&#8230;). The main idea behind it\u200a-\u200a\u00aban automatic classification of English learner proficiency\u00bb on text.<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/0fd72a72131a857c842bde5905672a62.js\"><\/script><\/div>\n<p>  <\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/c95edf129294c36ee9977a962cf6fe0c.js\"><\/script><\/div>\n<p>  Let me show you an example, how it works with a piece from my last essay:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/kf\/e1\/xt\/kfe1xtw3kh3unebtze8wgt7vwjo.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/kf\/e1\/xt\/kfe1xtw3kh3unebtze8wgt7vwjo.png\"\/><\/p>\n<p>  Okay, let&#8217;s try to do the same in real life.<\/p>\n<p>  And we tend to shift our score to students who have more classes with the specific teacher. Usually, people who booked\/took many lessons would prefer to write extended reviews than people who had only one lesson.\u00a0<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/160c38e02ca83ff2be0c7faf950c4dde.js\"><\/script><\/div>\n<p>  And after that look at result this approach:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ku\/-i\/vi\/ku-iviesgrmnlgeebmrnybhtbfw.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/ku\/-i\/vi\/ku-iviesgrmnlgeebmrnybhtbfw.png\"\/><br \/>  <i>Ooops\u2026 there is a terrific gap between the teacher from South Africa(ZA) and\u00a0others<\/i><\/p>\n<h2><font color=\"#13799B\">Step 6. Visualization+analysis<\/font><\/h2>\n<p>  It is time for the integration! We have the teacher who is dramatically better by \u00abopinion\u00bb of the ML-model, but\u2026instead of relying on only this metrics, we could combine different scores, set a rank for teachers, and then range them by this integral value. This idea very similar to \u00aba ranked voting system\u00bb.<\/p>\n<div class=\"oembed\"><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/360ad87265224d65d5d2bffcc2e474c7.js\"><\/script><\/div>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/kh\/ud\/4t\/khud4tfeq--okymd1_ua4qbopd4.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/kh\/ud\/4t\/khud4tfeq--okymd1_ua4qbopd4.png\"\/><br \/>  <i>The red square for highlighting teachers who fit more than others to an initial\u00a0request.<\/i><\/p>\n<p>  Well\u2026 Teachers from an unknown country, South Africa and Spain are the most preferable according to our calculations.<\/p>\n<p>  So\u2026 we are ready to go back to our expectations and to nail the last one.<br \/>  <s>A price no more than $20 per hour.<\/s><br \/>  <s>Teachers able to help me in preparation for Cambridge Exams(FCE)<\/s><br \/>  <s>They have real experience<\/s><br \/>  <s>Agree to give me homework and check it<\/s><br \/>  <s>No more than 3 candidates<\/s><\/p>\n<p>  Did we arrive at our finish point? Definitely!<\/p>\n<h2><font color=\"#13799B\">Conclusion<\/font><\/h2>\n<p>  Particularly for me, it was a little sad, that the teacher from Russia was sixth in this improvised race. At the same time, it is only this specific contest, and in any contest will be leaders and outsiders.<\/p>\n<p>  The main thing I wanted to say\u200a-\u200aI hope these ideas and approaches would help you find a good online teacher using data science and ML.<\/p>\n<p>  At the same time, this research (or maybe \u00aban investigation\u00bb), not only about looking for a language teacher. It is more about how data hidden behind a user-interface, could help us make a choice based not only on visible metrics but on something beneath it.<\/p>\n<p>  <b>P.S.<\/b> Thank you for reading. <a href=\"https:\/\/github.com\/VeeSot\/how_to_find_a_teacher\/blob\/master\/how_to_find_a_teacher_final.ipynb\">There<\/a> is the final version of Ipython-notebook<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><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\/ru\/articles\/509546\/\"> https:\/\/habr.com\/ru\/articles\/509546\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/p2\/ok\/im\/p2okim-91yng_hkys-zxffxyg4q.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/p2\/ok\/im\/p2okim-91yng_hkys-zxffxyg4q.png\"\/><\/p>\n<p>  This is a continuation of story about using Data Science for finding an English teacher. If you have not read it yet\u200a-\u200a<a href=\"https:\/\/habr.com\/en\/post\/509114\/\">there<\/a> is an opportunity to become familiar with it <\/p>\n<p>  Briefly \u200a- \u200awe had information about language teachers and tried to apply some basic ideas using pandas and our expectations. Unfortunately we got stuck on the third step, because there is not enough information for resolving our the last requirements\u200a -\u200a we need not more 3 candidates at the end.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Disclaimer<\/b>                         <\/p>\n<div class=\"spoiler_text\">It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.  <\/div>\n<\/p><\/div>\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-383904","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383904","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=383904"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383904\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=383904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=383904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=383904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}