Kia ora katoa! Kei te whakatuwherahia e matou he raupapa o nga tuhinga e whakatapua ana ki te whakaoti rapanga whaitake e pa ana ki te tukatuka reo maori (Natural Language Processing or NLP noa) me te hanga i nga kaihoko korero (chatbots) ma te whakamahi i te whare pukapuka puna tuwhera.
Ko nga mahi a te NLP ko te whakatau i te kare o te tuhinga, te whakamaarama i nga hinonga whakaingoatia, te whakatau he aha te hiahia o te kaikawe korero mai i to karetao: tono pizza, tiki korero papamuri ranei, me te maha atu. Ka taea e koe te panui atu mo nga mahi me nga tikanga NLP
I roto i tenei tuhinga, ka whakaatu matou ki a koe me pehea te whakahaere i te REST tūmau me nga tauira NLP kua whakangungua, kua rite ki te whakamahi me te kore he whirihoranga, whakangungu ranei.
Te whakaurunga o DeepPavlov
I konei me raro, ka hoatu nga tohutohu mo te Linux. Mo Windows, tirohia to maatau
- Waihanga me te whakahohe i tetahi taiao mariko me te putanga tautoko o te Python:
virtualelnv env -p python3.7 source env/bin/activate
- Tāutahia a DeepPavlov ki te taiao mariko:
pip install deeppavlov
Te whakarewa i te tūmau REST me te tauira DeepPavlov
I mua i te whakarewanga o te tūmau me te tauira DeepPavlov mo te wa tuatahi, he pai ki te korero mo etahi ahuatanga o te hoahoanga o te whare pukapuka.
Ko nga tauira kei roto i te DP ko:
- Waehere Python;
- Nga waahanga ka taea te tango - nga hua whakangungu raupapa i runga i nga raraunga motuhake (nga whakaurunga, nga taumaha o nga whatunga neural, me etahi atu);
- He konae whirihoranga (ka kiia i muri nei ko te whirihora), kei roto nga korero mo nga karaehe e whakamahia ana e te tauira, nga URL o nga waahanga kua tangohia, nga herenga Python, etc.
Ka korero atu matou ki a koe mo nga mea kei raro i te awhi o DeepPavlov i roto i nga tuhinga e whai ake nei, mo tenei wa ka nui ki a maatau te mohio:
- Ko tetahi tauira i DeepPavlov ka tohua e te ingoa o tana whirihora;
- Hei whakahaere i te tauira, me tango e koe ona waahanga mai i nga kaitoro DeepPavlov;
- Ano, hei whakahaere i te tauira, me whakauru e koe nga whare pukapuka Python e whakamahia ana e ia.
Ko te tauira tuatahi ka whakarewahia e matou ko te Whakaaetanga Hinonga Whakaingoatia (NER). Ka whakarōpūhia e te tauira nga kupu kupu kia rite ki te momo hinonga kua whakaingoatia no ratou (ingoa tika, ingoa matawhenua, ingoa moni, me etahi atu). Ingoa whirihora mo te putanga o naianei o NER:
ner_ontonotes_bert_mult
Ka whakarewahia e matou te tūmau REST me te tauira:
- Ka whakauruhia e matou nga tauira whakawhirinaki kua tohua ki tana whirihora ki te taiao mariko hohe:
python -m deeppavlov install ner_ontonotes_bert_mult
- Tangohia nga waahanga tauira raupapa mai i nga tūmau DeepPavlov:
python -m deeppavlov download ner_ontonotes_bert_mult
Ka tangohia nga waahanga raupapa ki te whaiaronga kaainga DeepPavlov, kei te taunoa
~/.deeppavlov
I te wa e tango ana, ka tirotirohia te hash o nga waahanga kua oti te tango ki runga i nga hashes o nga waahanga kei runga i te tūmau. Mena he whakataetae, ka pekehia te tango ka whakamahia nga konae o mua. Ko nga rahi o nga waahanga kua tangohia ka rereke mai i te 0.5 ki te 8 Gb, i etahi wa ka tae ki te 20 Gb i muri i te wetewete.
- Ka whakarewahia e matou te tūmau REST me te tauira:
python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
Ko te hua o te whakahaere i tenei whakahau, ka whakarewahia he tūmau REST me tetahi tauira ki te tauranga 5005 o te miihini manaaki (ko te tauranga taunoa ko 5000).
Whai muri i te tiimata o te tauira, ka kitea te Swagger me nga tuhinga API me te kaha ki te whakamatautau i te URL http://127.0.0.1:5005
. Me whakamatau te tauira ma te tuku ki te pito mutunga http://127.0.0.1:5005/model
Tono POST me nga ihirangi JSON e whai ake nei:
{
"x": [
"В МФТИ можно добраться на электричке с Савёловского Вокзала.",
"В юго-западной Руси стог жита оценен в 15 гривен"
]
}
Hei whakautu me whiwhi tatou i te JSON e whai ake nei:
[
[
["В", "МФТИ", "можно", "добраться", "на", "электричке", "с", "Савёловского", "Вокзала", "."],
["O", "B-FAC", "O", "O", "O", "O", "O", "B-FAC", "I-FAC", "O"]
],
[
["В", "юго", "-", "западной", "Руси", "стог", "жита", "оценен", "в", "15", "гривен"],
["O", "B-LOC", "I-LOC", "I-LOC", "I-LOC", "O", "O", "O", "O", "B-MONEY", "I-MONEY"]
]
]
Ma te whakamahi i enei tauira, ka tātarihia te DeepPavlov REST API.
API DeepPavlov
Ko ia tauira DeepPavlov he tohenga whakauru kotahi neke atu. I roto i te REST API, ka whakaingoatia nga tautohetohe, ko o ratou ingoa nga ki o te papakupu taumai. I te nuinga o nga wa, ko te tautohetohe ko te tuhinga e tika ana kia tukatukahia. Ko etahi atu korero mo nga tautohetohe me nga uara i whakahokia mai e nga tauira ka kitea i roto i te waahanga MODELS o te tuhinga
I roto i te tauira, i tukuna he rarangi o nga aho e rua ki te tohenga x, i whakawhiwhia ki ia waahanga he tohu motuhake. I roto i te DeepPavlov, ko nga tauira katoa ka uru ki tetahi rarangi (puanga) o nga uara ka tukatuka takitahi.
Ko te kupu "puranga" e pa ana ki te waahanga ako miihini me te tohu ki te roopu o nga uara whakauru motuhake i tukatukahia e te algorithm, te whatunga neural ranei i te wa kotahi. Ma tenei huarahi ka taea e koe te whakaiti (he mea tino nui) te wa e mahia ai e te tauira tetahi huānga o te puranga ka whakatauritea ki te uara kotahi i tukuna ki te whakauru motuhake. Engari ko te hua tukatuka ka tukuna i muri noa i te tukatuka i nga waahanga katoa. Na reira, i te wa e whakaputa ana i te roopu taumai, me whai whakaaro ki te tere o te tauira me te wa tukatuka e hiahiatia ana mo ia waahanga takitahi.
Mena he maha nga tohenga mo te tauira DeepPavlov, ka whiwhi ia o ratou ake puranga uara, a, i te putanga ka puta te tauira i nga wa katoa he puranga o nga whakautu. Ko nga huānga o te puranga puta ko nga hua o te tukatuka i nga huānga o nga roopu taumai me te taurangi kotahi.
I roto i te tauira o runga ake nei, ko te hua o te tauira ko te wawahi i ia aho ki roto i nga tohu (kupu me nga tohu tohu) me te whakarōpū i te tohu e pa ana ki te hinonga kua whakaingoatia (ingoa whakahaere, moni) e tohu ana. I tenei wa ko te tauira ner_ontonotes_bert_mult ka taea te mohio ki nga momo hinonga 18 kua whakaingoatia, ka kitea he whakamaarama taipitopito
Ko etahi atu tauira o waho o te pouaka na DeepPavlov
Hei taapiri atu ki te NER, ko nga tauira o waho o te pouaka e waatea ana i DeepPavlov i te wa e tuhi ana:
Kuputuhi Whakautu patai
Whakautua te patai ki te tuhinga me tetahi wahanga o tenei tuhinga. Tauira whirihora: squad_ru_bert_infer
Tono tauira:
{
"context_raw": [
"DeepPavlov разрабатывается лабораторией МФТИ.",
"В юго-западной Руси стог жита оценен в 15 гривен."
],
"question_raw": [
"Кем разрабатывается DeepPavlov?",
"Сколько стоил стог жита на Руси?"
]
}
Hua:
[
["лабораторией МФТИ", 27, 31042.484375],
["15 гривен", 39, 1049.598876953125]
]
Tirohanga tawai
Te kitenga o te noho tawai ki te tangata e korerohia ana te tuhinga (i te wa e tuhi ana - mo te reo Ingarihi anake). Tauira whirihora: insults_kaggle_conv_bert
Tono tauira:
{
"x": [
"Money talks, bullshit walks.",
"You are not the brightest one."
]
}
Hua:
[
["Not Insult"],
["Insult"]
]
Tātaramatanga whakaaro
Whakar Tauira whirihora: rusentiment_elmo_twitter_cnn
Tono tauira:
{
"x": [
"Мне нравится библиотека DeepPavlov.",
"Я слышал о библиотеке DeepPavlov.",
"Меня бесят тролли и анонимусы."
]
}
Hua:
[
["positive"],
["neutral"],
["negative"]
]
Te Rapu Paraphrase
Te whakatau mena he rite te tikanga o nga tuhinga rereke e rua. Tauira whirihora: stand_paraphraser_ru
Tono:
{
"text_a": [
"Город погружается в сон, просыпается Мафия.",
"Президент США пригрозил расторжением договора с Германией."
],
"text_b": [
"Наступает ночь, все жители города пошли спать, а преступники проснулись.",
"Германия не собирается поддаваться угрозам со стороны США."
]
}
Hua:
[
[1],
[0]
]
Ko te rarangi o naianei o nga tauira DeepPavlov kei waho o te pouaka ka kitea tonu
mutunga
I roto i tenei tuhinga, i mohio matou ki te DeepPavlov API me etahi o nga kaha ki te tukatuka tuhinga o te whare pukapuka i tukuna mai i te pouaka. Kia maharahia mo tetahi mahi NLP, ko te hua pai ka tutuki i te whakangungu i te tauira i runga i te huinga raraunga e pa ana ki te kaupapa kaupapa (rohe) o te mahi. I tua atu, he maha atu nga tauira kaore e taea te whakangungu mo nga ahuatanga katoa.
I roto i nga tuhinga e whai ake nei ka titiro tatou ki etahi atu tautuhinga o te whare pukapuka, ka whakarewahia a DeepPavlov mai i Docker, katahi ka neke atu ki nga tauira whakangungu. A kaua e wareware kei a DeepPavlov
Source: will.com