ืฉืืื ืืืืื! ืื ื ืคืืชืืื ืกืืจืช ืืืืจืื ืืืืงืืฉืช ืืคืชืจืื ืืขืืืช ืืขืฉืืืช ืืงืฉืืจืืช ืืขืืืื ืฉืคื ืืืขืืช (ืขืืืื ืฉืคื ืืืขืืช ืื ืคืฉืื NLP) ืืืฆืืจืช ืกืืื ื ืืืืืื (ืฆ'ืืืืืืื) ืืืืฆืขืืช ืกืคืจืืืช ืงืื ืคืชืื
ืืฉืืืืช NLP ืืืืืืช ืงืืืขืช ืืกื ืืืื ื ืฉื ืืืงืกื, ื ืืชืื ืืฉืืืืช ืืฉื, ืงืืืขื ืื ืื ืืฉืื ืจืืฆื ืืืืื ืฉืื: ืืืืืื ืคืืฆื ืื ืืงืื ืืืืข ืจืงืข ืืขืื ืืจืื ืืืชืจ. ืืชื ืืืื ืืงืจืื ืขืื ืขื ืืฉืืืืช ืืฉืืืืช NLP
ืืืืืจ ืื ื ืจืื ืื ืืืฆื ืืืคืขืื ืฉืจืช REST ืขื ืืืื NLP ืืืืื ืื ืืจืืฉ, ืืืื ืื ืืฉืืืืฉ ืืื ืื ืชืฆืืจื ืื ืืืจืื ื ืืกืคืช.
ืืชืงื ื ืฉื DeepPavlov
ืืื ืืืื, ืืื ืชื ื ืืืจืืืช ืขืืืจ ืืื ืืงืก. ืขืืืจ Windows, ืจืื ืฉืื ื
- ืฆืืจ ืืืคืขื ืกืืืื ืืืจืืืืืืช ืขื ืืืจืกื ืื ืชืืืช ืื ืืืืืช ืฉื Python:
virtualelnv env -p python3.7 source env/bin/activate
- ืืชืงื ืืช DeepPavlov ืืกืืืื ืืืจืืืืืืช:
pip install deeppavlov
ืืฉืงืช ืฉืจืช REST ืขื ืืื DeepPavlov
ืืคื ื ืฉื ืคืขืื ืฉืจืช ืขื ืืืื DeepPavlov ืืคืขื ืืจืืฉืื ื, ืืืื ืฉืืืืฉื ืืืืจ ืขื ืืื ืชืืื ืืช ืฉื ืืจืืืืงืืืจืช ืืกืคืจืืื.
ืื ืืื ื-DP ืืืจืื ื:
- ืงืื ืคืืืชืื;
- ืจืืืืื ืืืืจืื - ืชืืฆืืืช ืืืืื ืืกืืืจืืช ืขื ื ืชืื ืื ืกืคืฆืืคืืื (ืืืืขืืช, ืืฉืงืืื ืฉื ืจืฉืชืืช ืขืฆืืืืช ืืื');
- ืงืืืฅ ืงืื ืคืืืืจืฆืื (ืืืื ืชืฆืืจื), ืืืืื ืืืืข ืขื ืืืืืงืืช ืืืฉืืฉืืช ืืช ืืืืื, ืืชืืืืช URL ืฉื ืจืืืืื ืฉืืืจืื, ืชืืืช ื-Python ืืื'.
ื ืกืคืจ ืืื ืืืชืจ ืขื ืื ืฉื ืืฆื ืืชืืช ืืืืกื ืืื ืืข ืฉื DeepPavlov ืืืืืจืื ืืืืื, ืืขืช ืขืชื ืื ืื ื ืืืขืช ืืืช:
- ืื ืืื ื-DeepPavlov ืืืืื ืืคื ืฉื ืืชืฆืืจื ืฉืื;
- ืืื ืืืคืขืื ืืช ืืืืื, ืขืืื ืืืืจืื ืืช ืืจืืืืื ืฉืื ืืฉืจืชื DeepPavlov;
- ืืื ืื, ืืื ืืืคืขืื ืืช ืืืืื, ืขืืื ืืืชืงืื ืืช ืกืคืจืืืช Python ืฉืืื ืืื ืืฉืชืืฉ.
ืืืื ืืจืืฉืื ืฉื ืฉืืง ืืืื Multilingual Named Entity Recognition (NER). ืืืืื ืืกืืื ืืืืืช ืืงืกื ืืคื ืกืื ืืืฉืืืืช ืื ืงืืืืช ืืืืื ืื ืฉืืืืืช (ืฉืืืช ืคืจืืืื, ืฉืืืช ืืืืืืจืคืืื, ืฉืืืช ืืืืขืืช ืืขืื). ืฉื ืชืฆืืจื ืขืืืจ ืืืจืกื ืืขืืื ืืช ืืืืชืจ ืฉื NER:
ner_ontonotes_bert_mult
ืื ื ืืฉืืงืื ืืช ืฉืจืช REST ืขื ืืืื:
- ืื ื ืืชืงืื ืื ืืช ืชืืืช ืืืืื ืฉืฆืืื ื ืืชืฆืืจื ืฉืื ืืกืืืื ืืืืืจืืืืืืช ืืคืขืืื:
python -m deeppavlov install ner_ontonotes_bert_mult
- ืืืจื ืจืืืื ืืื ืืกืืืจืื ืืฉืจืชื DeepPavlov:
python -m deeppavlov download ner_ontonotes_bert_mult
ืืจืืืืื ืืืกืืืจืื ืืืจืื ืืกืคืจืืืช ืืืืช ืฉื DeepPavlov, ืฉื ืืฆืืช ืืืจืืจืช ืืืื
~/.deeppavlov
ืืขืช ืืืืจืื, ื-hash ืฉื ืจืืืืื ืฉืืืจ ืืืจืื ื ืืืง ืืื ื-hash ืฉื ืจืืืืื ืื ืืฆืืื ืืฉืจืช. ืื ืืฉ ืืชืืื, ืืืืจืื ืืืืืช ืื ืขืฉื ืฉืืืืฉ ืืงืืฆืื ืงืืืืื. ืืืืืื ืฉื ืจืืืืื ืฉืืืจืื ืืืืืื ืืืฉืชื ืืช ืืืืืฆืข ืืื 0.5 ื-8 ื'ืืื-ืืืื, ืืืงืจืื ืืกืืืืื ืืืืืข ื-20 ื'ืืื-ืืืื ืืืืจ ืคืชืืืช ืืืืืก.
- ืื ื ืืฉืืงืื ืืช ืฉืจืช REST ืขื ืืืื:
python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
ืืชืืฆืื ืืืืฆืืข ืคืงืืื ืื, ืืืคืขื ืฉืจืช REST ืขื ืืื ืืืฆืืื 5005 ืฉื ืืืืฉื ืืืืจื (ืืฆืืืช ืืจืืจืช ืืืืื ืืื 5000).
ืืืืจ ืืชืืื ืืืืื, ื ืืชื ืืืฆืื ืืช Swagger ืขื ืชืืขืื API ืืืืืืช ืืืืงื ืืืชืืืช ืืืชืจ http://127.0.0.1:5005
. ืืืื ื ืืืืง ืืช ืืืืื ืขื ืืื ืฉืืืืชื ืื ืงืืืช ืืงืฆื http://127.0.0.1:5005/model
ืืงืฉืช ืคืืกื ืขื ืชืืื ื-JSON ืืื:
{
"x": [
"ะ ะะคะขะ ะผะพะถะฝะพ ะดะพะฑัะฐัััั ะฝะฐ ัะปะตะบััะธัะบะต ั ะกะฐะฒัะปะพะฒัะบะพะณะพ ะะพะบะทะฐะปะฐ.",
"ะ ัะณะพ-ะทะฐะฟะฐะดะฝะพะน ะ ััะธ ััะพะณ ะถะธัะฐ ะพัะตะฝะตะฝ ะฒ 15 ะณัะธะฒะตะฝ"
]
}
ืืชืืืื ืขืืื ื ืืงืื ืืช ื-JSON ืืื:
[
[
["ะ", "ะะคะขะ", "ะผะพะถะฝะพ", "ะดะพะฑัะฐัััั", "ะฝะฐ", "ัะปะตะบััะธัะบะต", "ั", "ะกะฐะฒัะปะพะฒัะบะพะณะพ", "ะะพะบะทะฐะปะฐ", "."],
["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"]
]
]
ืืขืืจืช ืืืืืืืช ืืื, ื ื ืชื ืืช ื- DeepPavlov REST API.
API DeepPavlov
ืืื ืืืื DeepPavlov ืืฉ ืืคืืืช ืืจืืืื ื ืงืื ืืื. ื-REST API, ืืจืืืื ืืื ืืงืืืื ืฉืืืช, ืฉืืืชืืื ืื ืืืคืชืืืช ืฉื ืืืืืื ืื ืื ืก. ืืจืื ืืืงืจืื, ืืืืขืื ืืื ืืืงืกื ืฉืฆืจืื ืืขืื. ืืืืข ื ืืกืฃ ืขื ืืืขืื ืื ืืขืจืืื ืฉืืืืืจื ืขื ืืื ืืืืืื ื ืืชื ืืืฆืื ืืกืขืืฃ MODELS ืฉื ืืชืืขืื
ืืืืืื, ืจืฉืืื ืฉื ืฉืชื ืืืจืืืืช ืืืขืืจื ืืืจืืืื ื x, ืฉืื ืืืช ืืื ืงืืืื ืกืืืื ื ืคืจื. ื-DeepPavlov, ืื ืืืืืื ืืงืืืื ืืงืื ืจืฉืืื (ืืฆืืื) ืฉื ืขืจืืื ืืืขืืืืื ืืืืคื ืขืฆืืื.
ืืืื ื "ืืฆืืื" ืืชืืืืก ืืชืืื ืืืืืช ืืืื ื ืืืชืืืืก ืืงืืืฆื ืฉื ืขืจืื ืงืื ืขืฆืืืืื ืืืขืืืืื ืขื ืืื ืืืืืจืืชื ืื ืจืฉืช ืขืฆืืืช ืื ืืื ืืช. ืืืฉื ืื ืืืคืฉืจืช ืื ืืฆืืฆื (ืืขืืชืื ืงืจืืืืช ืืืืคื ืืฉืืขืืชื) ืืช ืืืื ืฉืื ืืืืื ืืขืื ืืืื ื ืืื ืฉื ืืฆืืื ืืืฉืืืื ืืืืชื ืขืจื ืืืืขืืจ ืืงืื ืื ืคืจื. ืืื ืชืืฆืืช ืืขืืืื ืืื ืคืงืช ืจืง ืืืืจ ืขืืืื ืื ืืจืืืืื. ืืื, ืืขืช ืืฆืืจืช ืืฆืืื ื ืื ืกืช, ืืืื ืฆืืจื ืืงืืช ืืืฉืืื ืืช ืืืืจืืช ืืืืื ืืืช ืืื ืืขืืืื ืื ืืจืฉ ืขืืืจ ืื ืืื ืืืจืืืืื ืื ืคืจืืื ืฉืื.
ืื ืืฉ ืืื ืืืขืื ืื ืืืืื DeepPavlov, ืื ืืื ืืื ืืงืื ืืฆืืื ืฉื ืขืจืืื ืืฉืื, ืืืคืื ืืืืื ืชืืื ืืืืฆืจ ืืฆืืื ืืืช ืฉื ืชืฉืืืืช. ืืืจืืืืื ืฉื ืืืฆืืื ืืืืฆืืช ืื ืชืืฆืืืช ืฉื ืขืืืื ืืจืืืืื ืฉื ืืืฆืืื ืื ืื ืกืืช ืขื ืืืชื ืืื ืืงืก.
ืืืืืื ืฉืืขืื, ืืชืืฆืื ืฉื ืืืืื ืืืืชื ืคืืจืืง ืื ืืืจืืืช ืืืกืืืื ืื (ืืืืื ืืกืืื ื ืคืืกืืง) ืืืกืืื ืืช ืืืกืืืื ืืืืก ืืืฉืืช ืืืืื ื (ืฉื ืืจืืื, ืืืืข) ืฉืืื ืืืืฆื. ืืจืืข ืืืื ner_ontonotes_bert_mult ืืืกืืื ืืืืืช 18 ืกืืืื ืฉื ืืฉืืืืช ืืฉื, ื ืืชื ืืืฆืื ืชืืืืจ ืืคืืจื
ืืืืื ื ืืกืคืื ืืืืฅ ืืงืืคืกื ืฉื DeepPavlov
ืื ืืกืฃ ื-NER, ืืืืืื ืืืืื ืืืงืืคืกื ืืืื ืื ื-DeepPavlov ืืืื ืืชืืืช ืฉืืจืืช ืืื:
ืชืฉืืื ืืฉืืืืช ืืงืกื
ืขื ื ืขื ืืฉืืื ืืืงืกื ืขื ืงืืข ืืืงืกื ืื. ืชืฆืืจืช ืืื: squad_ru_bert_infer
ืืืืื ืืืงืฉ:
{
"context_raw": [
"DeepPavlov ัะฐะทัะฐะฑะฐััะฒะฐะตััั ะปะฐะฑะพัะฐัะพัะธะตะน ะะคะขะ.",
"ะ ัะณะพ-ะทะฐะฟะฐะดะฝะพะน ะ ััะธ ััะพะณ ะถะธัะฐ ะพัะตะฝะตะฝ ะฒ 15 ะณัะธะฒะตะฝ."
],
"question_raw": [
"ะะตะผ ัะฐะทัะฐะฑะฐััะฒะฐะตััั DeepPavlov?",
"ะกะบะพะปัะบะพ ััะพะธะป ััะพะณ ะถะธัะฐ ะฝะฐ ะ ััะธ?"
]
}
ืชืืฆืื:
[
["ะปะฐะฑะพัะฐัะพัะธะตะน ะะคะขะ", 27, 31042.484375],
["15 ะณัะธะฒะตะฝ", 39, 1049.598876953125]
]
ืืืืื ืขืืืื
ืืืชืืจ ื ืืืืืช ืฉื ืขืืืื ืืื ืฉืืืื ืืืคื ื ืืืงืกื (ืืืื ืืชืืืช ืฉืืจืืช ืืื - ืจืง ืืื ืืืืช). ืชืฆืืจืช ืืื: insults_kaggle_conv_bert
ืืืืื ืืืงืฉ:
{
"x": [
"Money talks, bullshit walks.",
"You are not the brightest one."
]
}
ืชืืฆืื:
[
["Not Insult"],
["Insult"]
]
ื ืืชืื ืืกื ืืืื ื
ืกืืืื ืฉื ืกื ืืืื ื ืืงืกื (ืืืืื, ื ืืืจืื, ืฉืืืื). ืชืฆืืจืช ืืื: rusentiment_elmo_twitter_cnn
ืืืืื ืืืงืฉ:
{
"x": [
"ะะฝะต ะฝัะฐะฒะธััั ะฑะธะฑะปะธะพัะตะบะฐ DeepPavlov.",
"ะฏ ัะปััะฐะป ะพ ะฑะธะฑะปะธะพัะตะบะต DeepPavlov.",
"ะะตะฝั ะฑะตััั ััะพะปะปะธ ะธ ะฐะฝะพะฝะธะผััั."
]
}
ืชืืฆืื:
[
["positive"],
["neutral"],
["negative"]
]
ืืืืื ืคืจืคืจืืื
ืงืืืขื ืืื ืืฉื ื ืืงืกืืื ืฉืื ืื ืืฉ ืืืชื ืืฉืืขืืช. ืชืฆืืจืช ืืื: stand_paraphraser_he
ืึผึทืงึธืฉืึธื:
{
"text_a": [
"ะะพัะพะด ะฟะพะณััะถะฐะตััั ะฒ ัะพะฝ, ะฟัะพััะฟะฐะตััั ะะฐัะธั.",
"ะัะตะทะธะดะตะฝั ะกะจะ ะฟัะธะณัะพะทะธะป ัะฐััะพัะถะตะฝะธะตะผ ะดะพะณะพะฒะพัะฐ ั ะะตัะผะฐะฝะธะตะน."
],
"text_b": [
"ะะฐัััะฟะฐะตั ะฝะพัั, ะฒัะต ะถะธัะตะปะธ ะณะพัะพะดะฐ ะฟะพัะปะธ ัะฟะฐัั, ะฐ ะฟัะตัััะฟะฝะธะบะธ ะฟัะพัะฝัะปะธัั.",
"ะะตัะผะฐะฝะธั ะฝะต ัะพะฑะธัะฐะตััั ะฟะพะดะดะฐะฒะฐัััั ัะณัะพะทะฐะผ ัะพ ััะพัะพะฝั ะกะจะ."
]
}
ืชืืฆืื:
[
[1],
[0]
]
ืชืืื ื ืืชื ืืืฆืื ืืช ืืจืฉืืื ืื ืืืืืช ืฉื ืื ืืืื DeepPavlov ืฉืืฆืื ืืืงืืคืกื
ืืกืงื ื
ืืืืืจ ืื ืืืจื ื ืืช ื-API ืฉื DeepPavlov ืืืืง ืืืืืืืช ืขืืืื ืืืงืกื ืฉื ืืกืคืจืืื ืฉืกืืคืงื ืืืงืืคืกื. ืืฉ ืืืืืจ ืื ืขืืืจ ืื ืืฉืืืช NLP, ืืชืืฆืื ืืืืื ืืืืชืจ ืชืืฉื ืืืฉืจ ืืืืื ืืืืื ืขื ืืขืจื ื ืชืื ืื ืืืชืืื ืืชืืื ืื ืืฉื (ืืชืืื) ืฉื ืืืฉืืื. ืื ืืกืฃ, ืื ื ืืชื, ืขืงืจืื ืืช, ืืืืฉืืจ ืืคืืื ืืืชืจ ืืืืื ืืื ืืืฆืืื.
ืืืืืจืื ืืืืื ื ืืื ืืืืจืืช ื ืืกืคืืช ืฉื ืืกืคืจืืื, ืืฉืงืช DeepPavlov ื- Docker, ืืืืืจ ืืื ื ืขืืืจ ืืืืืืื ืฉื ืืืืื. ืืื ืชืฉืื ืฉืืฉ ื-DeepPavlov
ืืงืืจ: www.habr.com