ډیپ پاولوف د پراختیا کونکو لپاره: #1 NLP وسیلې او د چیټ بوټ رامینځته کول

سلام و ټولو ته! موږ د طبیعي ژبې پروسس کولو (د طبیعي ژبې پروسس کولو یا په ساده ډول NLP) پورې اړوند عملي ستونزو حل کولو او د خلاصې سرچینې کتابتون په کارولو سره د ډیالوګ اجنټانو (چیټ بوټس) رامینځته کولو لپاره وقف شوي مقالو لړۍ پرانیزو. ډیپ پاولوف، کوم چې زموږ د ټیم لخوا د عصبي سیسټمونو او ژورې زده کړې MIPT لابراتوار کې رامینځته کیږي. د لړۍ اصلي هدف د ډیپ پاولوف پراخه پراختیا کونکو ته معرفي کول دي او وښیې چې تاسو څنګه کولی شئ د ماشین زده کړې او په ریاضي کې پی ایچ ډی کې ژورې پوهې پرته د پلي شوي NLP ستونزې حل کړئ.

د NLP کارونو کې د متن احساسات ټاکل ، د نومول شوي ادارو تحلیل کول ، دا مشخص کول چې مخاطب ستاسو له بوټ څخه څه غواړي: د پیزا امر کول یا د شالید معلومات ترلاسه کول ، او نور ډیر څه. تاسو کولی شئ د NLP دندو او میتودونو په اړه نور ولولئ دلته.

پدې مقاله کې ، موږ به تاسو ته وښیو چې څنګه د مخکې روزل شوي NLP ماډلونو سره د REST سرور پرمخ وړئ ، پرته له کوم اضافي ترتیب یا روزنې کارولو ته چمتو دی.

ډیپ پاولوف د پراختیا کونکو لپاره: #1 NLP وسیلې او د چیټ بوټ رامینځته کول

د DeepPavlov نصب کول

دلته او لاندې، د لینکس لپاره لارښوونې به ورکړل شي. د وینډوز لپاره، زموږ وګورئ اسناد

  • د Python اوسني ملاتړ شوي نسخې سره یو مجازی چاپیریال رامینځته او فعال کړئ:
    virtualelnv env -p python3.7
    source env/bin/activate
  • ډیپ پاولوف په مجازی چاپیریال کې نصب کړئ:
    pip install deeppavlov
    

د ډیپ پاولوف ماډل سره د REST سرور پیل کول

مخکې له دې چې موږ د لومړي ځل لپاره د ډیپ پاولوف ماډل سره سرور پیل کړو، دا به ګټور وي چې د کتابتون د جوړښت د ځینو ځانګړتیاو په اړه خبرې وکړو.

په DP کې هر ماډل عبارت دي له:

  • د پیتون کوډ؛
  • د ډاونلوډ وړ برخې - د ځانګړو معلوماتو په اړه د سیریل شوي روزنې پایلې (ایمبیډنګونه، د عصبي شبکو وزنونه، او نور)؛
  • د ترتیب کولو فایل (له دې وروسته د config په نوم یادیږي)، کوم چې د ماډل لخوا کارول شوي ټولګیو په اړه معلومات لري، د ډاونلوډ شوي اجزاوو URLs، د Python انحصار، او نور.

موږ به تاسو ته په لاندې مقالو کې د ډیپ پاولوف د هود لاندې څه په اړه نور معلومات درکړو، د اوس لپاره دا زموږ لپاره کافي دي چې پوه شو:

  • په ډیپ پاولوف کې هر ماډل د دې ترتیب په نوم پیژندل کیږي؛
  • د ماډل چلولو لپاره، تاسو اړتیا لرئ د ډیپ پاولوف سرورونو څخه د هغې برخې ډاونلوډ کړئ؛
  • همچنان ، د ماډل چلولو لپاره ، تاسو اړتیا لرئ د Python کتابتونونه نصب کړئ چې دا یې کاروي.

لومړی ماډل چې موږ به یې په لاره واچوو د څو ژبو نومول شوي ادارې پیژندنه (NER). ماډل د متن ټکي د نومول شوي ادارو ډولونو له مخې طبقه بندي کوي چې دوی ورسره تړاو لري (مناسب نومونه، جغرافیایي نومونه، د اسعارو نومونه، او نور). د NER د اوسني خورا وروستي نسخې لپاره د تنظیم نوم:

ner_ontonotes_bert_mult

موږ د ماډل سره REST سرور پیل کوو:

  1. موږ په فعال مجازی چاپیریال کې د دې په ترتیب کې مشخص شوي ماډل انحصارونه نصب کوو:
    python -m deeppavlov install ner_ontonotes_bert_mult
    
  2. د ډیپ پاولوف سرورونو څخه د سیریل شوي ماډل برخې ډاونلوډ کړئ:
    python -m deeppavlov download ner_ontonotes_bert_mult
    

    سیریل شوي برخې به د ډیپ پاولوف کور لارښود ته ډاونلوډ شي ، کوم چې په ډیفالټ کې موقعیت لري

    ~/.deeppavlov

    کله چې ډاونلوډ کول ، د دمخه ډاونلوډ شوي اجزاو هش په سرور کې موقعیت لرونکي اجزاو هشونو پروړاندې چک کیږي. که چیرې لوبه شتون ولري، ډاونلوډ پریښودل کیږي او موجوده فایلونه کارول کیږي. د ډاونلوډ شوي اجزاوو اندازه په اوسط ډول له 0.5 څخه تر 8 جی بی پورې توپیر کولی شي، په ځینو مواردو کې د غیر زپ کولو وروسته 20 جی بی ته رسیږي.

  3. موږ د ماډل سره یو REST سرور پیل کوو:
    python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
    

د دې کمانډ پلي کولو په پایله کې ، د ماډل سره REST سرور به د کوربه ماشین په 5005 بندر کې پیل شي (ډیفالټ پورټ 5000 دی).

د ماډل پیل کولو وروسته، د API اسنادو سره سویګر او د ازموینې وړتیا په URL کې موندل کیدی شي 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 returned arguments and values‎‏ پاڼې اړوند نور معلومات په فسبوک کې اوګورئ ډیپ پاولوف

په مثال کې، د دوو تارونو لیست استدلال x ته لیږدول شوی، چې هر یو یې جلا مارک اپ ورکړل شوی. په ډیپ پاولوف کې، ټول ماډلونه د ارزښتونو لیست (بیچ) د ننوتلو په توګه اخلي چې په خپلواکه توګه پروسس شوي.

د "بیچ" اصطلاح د ماشین زده کړې ساحې ته اشاره کوي او د خپلواک ان پټ ارزښتونو یوې برخې ته اشاره کوي چې په ورته وخت کې د الګوریتم یا عصبي شبکې لخوا پروسس شوي. دا طریقه تاسو ته اجازه درکوي چې هغه وخت کم کړئ (اکثرا د پام وړ) هغه وخت چې ماډل د یوې بستې یو عنصر پروسس کوي د ورته ارزښت په پرتله په جلا توګه ان پټ ته لیږدول شوی. مګر د پروسس پایله یوازې وروسته له هغې خپریږي کله چې ټول عناصر پروسس شوي وي. له همدې امله ، کله چې د راتلونکي بسته رامینځته کول ، نو دا به اړین وي چې د ماډل سرعت او د دې هر انفرادي عناصرو لپاره د اړتیا وړ پروسس وخت په پام کې ونیول شي.

که چیرې د ډیپ پاولوف ماډل ته ډیری دلیلونه شتون ولري، نو هر یو یې خپل د ارزښتونو بسته ترلاسه کوي، او په محصول کې ماډل تل د ځوابونو یوه ډله تولیدوي. د وتلو بیچ عناصر د ورته شاخص سره د راتلونکو بیچونو عناصرو پروسس کولو پایلې دي.

په پورتنۍ بېلګه کې، د ماډل پایله دا وه چې هر تار په ټوکنونو (کلمو او ټکي نښه) کې مات کړئ او د نوم شوي ادارې (د سازمان نوم، اسعارو) پورې اړوند نښه طبقه بندي کړئ چې دا یې استازیتوب کوي. اوس مهال ماډل ner_ontonotes_bert_mult د نومول شویو ادارو 18 ډولونو پیژندلو توان لري، تفصيلي توضیحات موندل کیدی شي دلته.

د ډیپ پاولوف لخوا د بکس څخه بهر نور ماډلونه

د NER سربیره، لاندې د بکس څخه بهر ماډلونه د لیکلو په وخت کې په ډیپ پاولوف کې شتون لري:

د متن پوښتنې ځواب

د دې متن د یوې برخې سره متن ته د پوښتنې ځواب ورکړئ. د ماډل ترتیب: 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_en

غوښتنه:

{
  "text_a": [
    "Город погружается в сон, просыпается Мафия.",
    "Президент США пригрозил расторжением договора с Германией."
  ],
  "text_b": [
    "Наступает ночь, все жители города пошли спать, а преступники проснулись.",
    "Германия не собирается поддаваться угрозам со стороны США."
  ]
}

پایلې:

[
  [1],
  [0]
]

د بکس څخه بهر د ډیپ پاولوف ماډلونو اوسنی لیست تل موندل کیدی شي دلته.

پایلې

پدې مقاله کې ، موږ د ډیپ پاولوف API او د کتابتون ځینې متن پروسس کولو وړتیاو سره آشنا شو چې د بکس څخه بهر چمتو شوي. دا باید په پام کې ونیول شي چې د NLP د هرې دندې لپاره، غوره پایله به هغه وخت ترلاسه شي کله چې د دندې د موضوع ساحې (ډومین) سره مطابقت لرونکي ډیټا سیټ کې ماډل روزنه وکړي. سربیره پردې، حتی نور ماډلونه نشي کولی، په اصولو کې، د ټولو حالتونو لپاره روزل شي.

په لاندې مقالو کې به موږ د کتابتون اضافي ترتیبات وګورو، د ډیکر څخه ډیپ پاولوف پیل کول، او بیا به موږ د روزنې ماډلونو ته لاړ شو. او دا مه هیروئ چې ډیپ پاولوف لري فورم - د کتابتون او ماډلونو په اړه خپلې پوښتنې وپوښتئ. له پاملرنې څخه مو مننه!

سرچینه: www.habr.com

Add a comment