Dà sgeulachd air mar as urrainn ANKI do chuideachadh gus cànan cèin ionnsachadh agus ullachadh airson agallamhan

Bha mi an-còmhnaidh a’ creidsinn gu bheil prògramadair leisg na phrògramadair math. Carson? Oir iarr air neach-obrach cruaidh rudeigin a dhèanamh, falbhaidh e agus nì e e. Agus caithidh prògramadair leisg 2-3 tursan barrachd ùine, ach sgrìobhaidh e sgriobt a nì dha. Is dòcha gun toir e ùine gu math mì-reusanta airson seo a dhèanamh a’ chiad uair, ach le gnìomhan a-rithist pàighidh an dòigh-obrach seo dheth gu math luath. Tha mi gam mheas fhèin mar phrògramadair leisg. B’ e sin an ro-ràdh, a-nis leig dhuinn a dhol sìos gu gnìomhachas.

Sgeul a h-aon

O chionn beagan bhliadhnaichean bha mi a’ faighneachd ciamar a b’ urrainn dhomh mo Bheurla a leasachadh. Cha tàinig dad na b’ fheàrr nam inntinn na bhith a’ leughadh litreachas. Cheannaich mi leughadair dealanach, luchdaich mi sìos leabhraichean agus thòisich mi a’ leughadh. Fhad ‘s a bha mi a’ leughadh, chùm mi a ’tighinn tarsainn air faclan air nach robh mi eòlach. Dh'eadar-theangaich mi iad sa bhad a 'cleachdadh na faclairean a chaidh a thogail a-steach don leughadair, ach mhothaich mi aon fheart: cha robh na faclan airson a bhith air an cuimhneachadh. Nuair a thàinig mi tarsainn air an fhacal seo a-rithist beagan dhuilleagan às deidh sin, le coltachd 90% bha feum agam air eadar-theangachadh a-rithist, agus thachair seo a h-uile turas. B 'e an co-dhùnadh nach robh e gu leòr dìreach faclan air nach eil thu eòlach eadar-theangachadh fhad' sa bha thu a 'leughadh, feumaidh tu rudeigin eile a dhèanamh. Is e an roghainn as fheàrr a bhith ga thoirt a-steach do bheatha làitheil agus tòiseachadh air a chleachdadh, ach chan eil mi a’ fuireach ann an dùthaich far a bheil Beurla a ’bruidhinn agus tha seo eu-coltach. An uairsin chuimhnich mi gun do leugh mi mu dheidhinn aon uair Ath-aithris fànais.

Dè a th 'ann agus dè a dh'itheas e? Ann an ùine ghoirid, tha seo ann a' dìochuimhneachadh curve, abairt a bharrachd bho Wikipedia:

A-cheana taobh a-staigh a’ chiad uair, tha suas ri 60% den fhiosrachadh a gheibhear air a dhìochuimhneachadh; 10 uairean às deidh cuimhneachadh, tha 35% de na chaidh ionnsachadh fhathast mar chuimhneachan. An uairsin bidh am pròiseas dìochuimhneachadh a 'dol air adhart gu slaodach, agus an dèidh 6 latha tha mu 20% den àireamh iomlan de lidean a chaidh ionnsachadh an-toiseach fhathast mar chuimhneachan, agus tha an aon uiread fhathast ann an cuimhne an dèidh mìos.

Agus an co-dhùnadh às an seo

Is e na co-dhùnaidhean a dh'fhaodar a tharraing stèidhichte air an lùb seo gu bheil e riatanach an stuth cuimhneachaidh ath-aithris airson cuimhneachadh èifeachdach.

Mar sin thàinig sinn suas le beachd ath-aithris farsaing.

ANKI na phrògram stòr fosgailte gu tur an-asgaidh a chuireas an gnìomh am beachd air ath-aithris farsaing. Gu sìmplidh, tha ceist air cairtean flash coimpiutair air aon taobh agus freagairt air an taobh eile. Leis gun urrainn dhut ceistean / freagairtean a dhèanamh a ’cleachdadh gu cunbhalach html/css/javascript, an uairsin faodaidh sinn a ràdh gu bheil comasan fìor gun chrìoch aige. A bharrachd air an sin, tha e comasach leudachadh le sònraichte plugain, agus bidh aon dhiubh gu math feumail dhuinn san àm ri teachd.

Tha cruthachadh chairtean le làimh fada, tedious, agus le coltachd àrd, às deidh greis bidh thu a’ dìochuimhneachadh a ’ghnìomh seo, agus mar sin aig àm air choreigin chuir mi a’ cheist orm fhìn, a bheil e comasach an obair seo a dhèanamh fèin-ghluasadach. Is e am freagairt tha, faodaidh tu. Agus rinn mi e. Canaidh mi sa bhad, tha e nas motha POC (Dearbhadh air bun-bheachd), ach a ghabhas cleachdadh. Ma tha ùidh ann bho luchd-cleachdaidh agus luchd-leasachaidh eile a dhol an sàs, faodar a thoirt gu toradh crìochnaichte a dh’ fhaodas eadhon luchd-cleachdaidh nach eil litearra gu teicnigeach a chleachdadh. A-nis, tha feum air beagan eòlais air prògramadh le bhith a’ cleachdadh mo ghoireas.

Leugh mi leabhraichean a’ cleachdadh a’ phrògram Leughadair AI. Tha comas aige faclairean taobh a-muigh a cheangal, agus nuair a dh’ eadar-theangaicheas tu facal, sàbhalaidh e am facal a dh’iarr thu air eadar-theangachadh gu faidhle teacsa. Chan eil air fhàgail ach na faclan sin eadar-theangachadh agus cairtean ANKI a chruthachadh.

An toiseach dh'fheuch mi ri cleachdadh airson eadar-theangachadh Google Translate, Lingvo API etc. Ach cha do dh’obraich cùisean a-mach le seirbheisean an-asgaidh. Chuir mi a-mach a’ chrìoch an-asgaidh tron ​​​​phròiseas leasachaidh, a bharrachd air an sin, a rèir cumhachan a ’cheadachais, cha robh còir agam faclan a thasgadh. Aig àm air choireigin thuig mi gum feumadh mi na faclan eadar-theangachadh mi fhìn. Mar thoradh air an sin, chaidh modal a sgrìobhadh dsl 2 html ris an urrainn dhut ceangal a dhèanamh Faclairean DSL agus cò aig a tha fios mar a thionndaidheas iad gu HTML cruth.

Seo mar a tha inntrigeadh faclair coltach ann an *.html, mo roghainn an coimeas ris an roghainn Dict Òir

Dà sgeulachd air mar as urrainn ANKI do chuideachadh gus cànan cèin ionnsachadh agus ullachadh airson agallamhan

Mus coimhead mi airson facal ann am faclairean co-cheangailte, bheir mi gu foirm faclair (leama) a’ cleachdadh an leabharlainn Stanford CoreNLP. Gu dearbh, air sgàth an leabharlann seo, thòisich mi a 'sgrìobhadh ann an Java agus b' e am plana tùsail a h-uile càil a sgrìobhadh ann an Java, ach anns a 'phròiseas lorg mi an leabharlann nód-java leis an urrainn dhut còd Java a chuir an gnìomh gu ìre mhath bho nodejs agus tha cuid den chòd sgrìobhte ann an JavaScript. Nam biodh mi air an leabharlann seo a lorg na bu thràithe, cha bhiodh aon loidhne air a sgrìobhadh ann an Java. Is e pròiseact taobh eile a rugadh sa phròiseas cruthachadh stòr le sgrìobhainnean DSL a chaidh a lorg air an lìonra ann an cruth *.chm, air a thionndadh agus air a thoirt gu cruth diadhaidh. Ma tha ùghdar an fhaidhle tùsail na neach-cleachdaidh leis am far-ainm iodhol Nuair a chì e an artaigil seo, tha mi a’ toirt taing mhòr dha airson na h-obrach a rinn e; às aonais na sgrìobhainnean aige, is dòcha nach biodh mi air soirbheachadh.

Mar sin, tha facal Beurla agam, an inntrigeadh fhaclair aige sa chruth *.html, chan eil air fhàgail ach a h-uile càil a chuir ri chèile, artaigilean ANKI a chruthachadh bhon liosta fhaclan agus an cuir a-steach do stòr-dàta ANKI. Airson an adhbhair seo chaidh am pròiseact a leanas a chruthachadh dàta 2anki. Gabhaidh e liosta fhaclan mar chur-a-steach, eadar-theangachadh, cruthaich ANKI *.html artaigilean agus clàraich iad ann an stòr-dàta ANKI. Aig deireadh an artaigil tha stiùireadh air mar a chleachdas tu e. Anns an eadar-ama, is e an dàrna sgeulachd far am faod ath-aithris farsaing a bhith feumail.

An dàrna sgeulachd.

Feumaidh a h-uile duine a tha a’ lorg speisealachadh le barrachd/nas lugha de theisteanas, a’ gabhail a-steach prògramadairean, ullachadh airson agallamh. Tha mòran de na bun-bheachdan a thèid faighneachd ann an agallamhan nach eil thu a 'cleachdadh ann an cleachdadh làitheil agus tha iad air an dìochuimhneachadh. Nuair a bha mi ag ullachadh airson agallamh, a’ gluasad tro notaichean, leabhar, leabhar-fiosrachaidh, bha mi mu choinneamh leis gu bheil e a’ toirt tòrr ùine is aire airson fiosrachadh a tha thu eòlach mu thràth a shìoladh a-mach oir chan eil e an-còmhnaidh follaiseach agus feumaidh tu. leugh e gu faiceallach gus tuigsinn dè a th’ ann. Nuair a thig thu gu cuspair a dh'fheumas a bhith air ath-aithris, bidh e tric a 'tachairt gu bheil thu sgìth mar-thà agus gu bheil càileachd an ullachaidh agad a' fulang. Aig àm air choreigin smaoinich mi, carson nach cleachd thu cairtean ANKI airson seo cuideachd? Mar eisimpleir, nuair a bhios tu a’ gabhail notaichean air cuspair, cruthaich sa bhad nota ann an cruth ceist is freagairt, agus an uairsin nuair a nì thu a-rithist e, bidh fios agad sa bhad a bheil fios agad air an fhreagairt don cheist seo no nach eil.

B’ e an aon dhuilgheadas a dh’ èirich gun robh a bhith a’ sgrìobhadh cheistean gu math fada agus sgìth. Gus am pròiseas a dhèanamh nas fhasa, dàta 2anki pròiseact chuir mi comas tionndaidh ris comharraichte teacsa ann an cairtean ANKI. Chan eil agad ach aon fhaidhle mòr a sgrìobhadh anns am bi ceistean agus freagairtean air an comharrachadh le sreath charactaran ro-shuidhichte, leis an tuig am parser far a bheil a’ cheist agus far a bheil am freagairt.

Aon uair ‘s gu bheil am faidhle seo air a chruthachadh, ruithidh tu data2anki agus cruthaichidh e cairtean ANKI. Tha am faidhle tùsail furasta a dheasachadh agus a cho-roinn, cha leig thu leas ach a’ chairt (ean) iomchaidh a dhubhadh às agus am prògram a ruith a-rithist, agus thèid dreach ùr a chruthachadh.

Stàladh agus cleachdadh

  1. A’ stàladh ANKI + AnkiConnect

    1. Luchdaich sìos ANKI às an seo: https://apps.ankiweb.net/
    2. Stàlaich plugan AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. suidheachadh dàta 2anki

    1. Luchdaich sìos dàta 2anki bho stòr github
      git clone https://github.com/anatoly314/data2anki
    2. Stàlaich eisimeileachd
      cd data2anki && npm install
    3. Luchdaich a-nuas eisimeileachd airson java https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. A 'dì-phapadh jar-eisimeileachd.zip agus cuir a-steach a shusbaint dàta2anki/java/ jars

  3. Cleachd airson faclan eadar-theangachadh:

    1. Ann am faidhle data2anki/config.json:

      • anns an iuchair modh cuir a-steach an luach dsl2an

      • anns an iuchair modalan.dsl.anki.deckName и modalan.dsl.anki.modelName sgrìobhadh a rèir sin Ainm Deic и modail Ainm (feumar a chruthachadh mu thràth mus cruthaich thu cairtean). An-dràsta chan eil ach an seòrsa modail a’ faighinn taic Basic:

        Tha raointean Aghaidh is Cùil aige, agus cruthaichidh e aon chairt. Nochdaidh an teacsa a chuireas tu a-steach air beulaibh na cairt, agus nochdaidh an teacsa a chuireas tu a-steach air ais air cùl na cairt.

        càite a bheil am facal tùsail? Raon aghaidh, agus bithidh an t-eadar-theangachadh a stigh Raon cùil.

        Chan eil duilgheadas ann taic a chuir ris Cairt bunaiteach (agus air ais), far an tèid cairt cùil a chruthachadh airson an fhacail agus eadar-theangachadh, far am feum thu cuimhneachadh air an fhacal thùsail stèidhichte air an eadar-theangachadh. Chan eil agad ach ùine agus miann.

      • anns an iuchair modalan.dsl.dictionariesPath clàraich raon le ceangal *.dsl faclairean. Tha gach faclair co-cheangailte na eòlaire anns a bheil na faidhlichean faclair suidhichte a rèir an cruth: Structar faclair DSL

      • anns an iuchair modalan.dsl.wordToTranslatePath cuir a-steach an t-slighe chun liosta fhaclan a tha thu airson eadar-theangachadh.

    2. Cuir air bhog leis an tagradh ANKI a’ ruith
      node data2ankiindex.js
    3. PROFIT !!!

  4. Cleachdaidhean airson cairtean a chruthachadh bho markdown

    1. Ann am faidhle data2anki/config.json:

      • anns an iuchair modh cuir a-steach an luach comharradh sìos 2anki
      • anns an iuchair modalan.markdown.anki.deckName и modalan.dsl.anki.modelName sgrìobhadh a rèir sin Ainm Deic и modail Ainm (feumar a chruthachadh mu thràth mus cruthaich thu cairtean). Airson comharradh sìos 2anki modh a-mhàin a 'toirt taic don t-seòrsa modail Basic.
      • anns an iuchair modalan.markdown.selectors.startQuestionRelectors и modalan.markdown.selectors.startAnswerSelectors bidh thu a’ sgrìobhadh luchd-taghaidh leis a bheil thu a’ comharrachadh toiseach na ceiste is an fhreagairt, fa leth. Cha tèid an loidhne leis an roghnaichear fhèin a pharsadh agus cha tig i gu crìch sa chairt; tòisichidh am parser ag obair bhon ath loidhne.

        Mar eisimpleir, a’ chairt ceist/freagairt seo:

        Dà sgeulachd air mar as urrainn ANKI do chuideachadh gus cànan cèin ionnsachadh agus ullachadh airson agallamhan

        Bidh e a’ coimhead mar seo ann an markdown:
        #CEIST # ## Ceist 5. Sgrìobh ioma gnìomh a dh'obraicheas mar bu chòir nuair a thèid iarraidh ort leis a' cho-chòrdadh a leanas. ```javascript console.log(mul(2)(3)(4)); // toradh: 24 console.log (mul(4)(3)(4)); // output : 48 ``` # FREAGAIRT # Gu h-ìosal tha an còd air a leantainn le mìneachadh air mar a tha e ag obair: ``` gnìomh javascript mul (x) { gnìomh tilleadh (y) {// gnìomh tilleadh gnìomh gun urra (z) { // gnìomh gun urra tilleadh x * y * z; }; }; } ``` An seo tha an gnìomh `mul` a' gabhail ris a' chiad argamaid agus a' tilleadh a' ghnìomh gun urra a tha a' gabhail an dàrna paramadair agus a' tilleadh a' ghnìomh gun urra a ghabhas an treas paramadair agus a' tilleadh iomadachadh nan argamaidean a thèid seachad an dèidh a chèile Ann an gnìomh Javascript air a mhìneachadh tha cothrom aig an taobh a-staigh air caochladair gnìomh taobh a-muigh agus is e gnìomh an rud den chiad ìre gus an tèid a thilleadh leis a’ ghnìomh cuideachd agus a thoirt seachad mar argamaid ann an gnìomh eile. - Tha gnìomh na eisimpleir den t-seòrsa Rud - Faodaidh feartan a bhith aig gnìomh agus tha ceangal aige air ais ris an dòigh cruthachaidh aige - Faodar gnìomh a stòradh mar chaochlaideach - Faodaidh gnìomh a bhith air a chuir mar pharamadair gu gnìomh eile - Faodaidh gnìomh a bhith air ais o ghnìomh eile
        

        Eisimpleir air a thoirt às an seo: 123-JavaScript-Agallamh-Ceistean

        Tha faidhle ann cuideachd le eisimpleirean ann am pasgan a’ phròiseict examples/markdown2anki-example.md

      • anns an iuchair modalan.markdown.pathToFile
        sgrìobh sìos an t-slighe chun an fhaidhle far a bheil *.md faidhle ceist/freagairt

    2. Cuir air bhog leis an tagradh ANKI a’ ruith
      node data2ankiindex.js
    3. PROFIT !!!

Seo mar a tha e coltach air fòn-làimhe:

thoradh air

Tha cairtean a gheibhear air an dreach deasg de ANKI air an sioncronadh gun duilgheadasan leis an sgòth ANKI (an-asgaidh suas ri 100mb), agus an uairsin faodaidh tu an cleachdadh anns a h-uile àite. Tha teachdaichean ann airson Android agus iPhone, agus faodaidh tu cuideachd a chleachdadh ann am brabhsair. Mar thoradh air an sin, ma tha ùine agad nach eil dad agad ri chaitheamh air, an uairsin an àite a bhith a ’sgròbadh tro Facebook no cait air Instagram, faodaidh tu rudeigin ùr ionnsachadh.

Epilogue

Mar a thuirt mi, is e seo barrachd de POC obrach as urrainn dhut a chleachdadh na toradh crìochnaichte. Chan eil timcheall air 30% de inbhe parser DSL air a bhuileachadh, agus mar sin, mar eisimpleir, chan fhaighear a h-uile inntrigeadh faclair a tha ann am faclairean, tha beachd ann cuideachd ath-sgrìobhadh a dhèanamh ann JavaScript, oir tha mi ag iarraidh “cunbhalachd”, agus a bharrachd air an sin, a-nis chan eil e sgrìobhte gu math dòchasach. A-nis tha am parser a 'togail craobh, ach nam bheachd-sa tha seo neo-riatanach agus chan fheum e an còd a dhèanamh iom-fhillte. ANNS comharradh sìos 2anki modh, chan eil na h-ìomhaighean air am parsadh. Feuchaidh mi ri gearradh beag air bheag, ach bhon a tha mi a’ sgrìobhadh dhomh fhìn, fuasglaidh mi an toiseach na trioblaidean air am bi mi fhìn a’ ceumnachadh, ach ma tha duine airson cuideachadh, tha fàilte oirbh. Ma tha ceistean agad mun phrògram, bidh mi toilichte do chuideachadh tro chùisean fosgailte anns na pròiseactan iomchaidh. Sgrìobh càineadh agus molaidhean eile an seo. Tha mi an dòchas gum bi am pròiseact seo feumail do chuideigin.

PS Ma mhothaicheas tu mearachdan sam bith (agus, gu mì-fhortanach, tha cuid ann), sgrìobh thugam ann an teachdaireachd phearsanta, ceartaichidh mi a h-uile dad.

Source: www.habr.com

Cuir beachd ann