Бот бидэнд туслах болно

Бот бидэнд туслах болно

Жилийн өмнө бидний хайртай хүний ​​нөөцийн хэлтэс биднээс компанид шинээр ирсэн хүмүүсийг дасан зохицоход нь туслах чат бот бичихийг хүссэн.

Бид өөрсдийн бүтээгдэхүүнээ боловсруулдаггүй, харин үйлчлүүлэгчиддээ хөгжүүлэлтийн цогц үйлчилгээг үзүүлдэг гэж захиалгаа өгцгөөе. Үйлчлүүлэгч нь гуравдагч этгээдийн компани биш, харин бидний хүний ​​нөөцийн байгууллага болох манай дотоод төслийн тухай түүх болно. Мөн хүн, нөөц, цаг хугацаа хязгаарлагдмал байгаа тул төслийг хугацаанд нь дуусгаж, бүтээгдэхүүнээ гаргах нь гол ажил юм.

Эхлээд шийдвэрлэх шаардлагатай асуудлуудыг тайлбарлая.

Хөгжүүлэгчид ихэвчлэн дотогшоо хүмүүс байдаг бөгөөд ярих дургүй байдаг тул асуултаа имэйл чатаар бичих нь илүү хялбар байдаг. Боттой бол та хэнээс асуух, хэн рүү залгах, хаашаа явах, ерөнхийдөө хаанаас мэдээлэл хайх, энэ нь хамааралтай эсэх талаар бодох шаардлагагүй.

Хоёрдахь асуудал бол мэдээлэл юм - энэ нь маш их байдаг, өөр өөр эх сурвалжид байдаг, үргэлж олддоггүй, байнга нэмж, шинэчлэх шаардлагатай байдаг.

Тус компани нь бараг 500 ажилтантай бөгөөд тэд өөр өөр оффис, цагийн бүс, ОХУ-ын хотууд, тэр ч байтугай гадаадад байрладаг тул ихэвчлэн олон асуулт байдаг тул өөр нэг ажил бол хүний ​​​​нөөцийн ажилтнуудын хамгийн их асуудаг асуултуудтай холбоотой ачааллыг бууруулах явдал юм. ажилтнуудаар.

Компанид шинээр элсэх, шинээр ирсэн хүмүүсийн менежер, зөвлөхөд мессеж илгээх, шинээр ирсэн хүн амжилттай дасан зохицоход шаардлагатай курс, шалгалтын талаар автомат сануулга илгээх зэрэг үйл явцыг автоматжуулах шаардлагатай байв.

Техникийн шаардлагыг бизнесийн шаардлагад үндэслэн бий болгосон.

Бот нь Skype-ийн үндсэн дээр ажиллах ёстой (түүхээс харахад тэд үүнийг компанид ашигладаг) тул Azura дээрх үйлчилгээг сонгосон.

Түүнд хандах хандалтыг хязгаарлахын тулд бид Skype-ээр дамжуулан зөвшөөрлийн механизмыг ашиглаж эхэлсэн.
ParlAI номын санг текстийг танихад ашигласан

Захиргааны вэб портал нь тохиргоо хийх, сургах, дибаг хийх, шуудан илгээх болон бусад ажлуудад шаардлагатай.

Бот бидэнд туслах болно

Төсөл дээр ажиллаж байхдаа бид хэд хэдэн асуудал, бэрхшээлтэй тулгарсан.

Жишээлбэл, Azure дансанд техникийн асуудал гарсан. Майкрософт үйлчилгээндээ техникийн зарим бэрхшээлийн улмаас бидний захиалгыг идэвхжүүлэхийг хүсээгүй. Бараг хоёр сарын турш бид энэ талаар юу ч хийж чадсангүй; Microsoft-ын дэмжлэг эцэст нь гараа өргөөд биднийг түншүүд рүү илгээж, бүх зүйлийг амжилттай тохируулж, бидэнд данс өгсөн.

Хамгийн хэцүү үе шат бол төслийн эхлэл байсан бөгөөд бид юу ашиглах, ямар архитектур байх, өгөгдлийг хаана, хэрхэн хадгалах, системийн бүрэлдэхүүн хэсэг, модулиуд хоорондоо хэрхэн харьцах зэргийг сонгох хэрэгтэй.

Манай тохиолдолд аливаа төслийг эхлүүлэхэд тулгардаг энгийн асуудлууд нь боловсон хүчний асуудалд улам бүр төвөгтэй байдаг. Манай бизнесийн онцлог нь арилжааныхаас ялгаатай нь дотоод төслүүдийг ихэвчлэн шаардлагатай чиглэлээр хангалттай мэдлэггүй хөгжүүлэгчид хийдэг - хувь заяаны хүслээр тэд дараагийнхыг хүлээж вандан сандал дээр суудаг. том гайхалтай арилжааны төсөл. Ийм нөхцөлд хүсэл эрмэлзэл нь маш хэцүү байсан нь логик юм. Бүтээмж буурч, баг нь ихэвчлэн сул зогсдог бөгөөд үүний үр дүнд та хүнийг ятгах (өдөөх) эсвэл өөрчлөх шаардлагатай болдог. Хөгжүүлэгчийг өөрчлөхдөө та сургалт явуулж, мэдлэгээ шилжүүлж, төслийг дахин эхлүүлэх хэрэгтэй. Шинэ хөгжүүлэгч бүр архитектурыг өөрийнхөөрөө харж, өмнөх шийдвэрүүд болон бусад хүмүүсийн кодыг загнаж байв. Дахин бичих нь эхнээс нь эхэлсэн.

Энэ нь зургаан сар орчим үргэлжилсэн. Бид зүгээр л цагийг тэмдэглэж, кодыг дахин засварлаж, шинэ зүйл бичээгүй.

Түүнчлэн, дотоод төслүүд дээр, дүрмээр бол бараг ямар ч баримт бичиг байдаггүй бөгөөд цаг тутамд юу хийх шаардлагатай, одоогийн тэргүүлэх чиглэлүүд юу болохыг ойлгоход хэцүү байсан. Байнгын баг бүрдүүлж, үйл явцыг бий болгож, гурван сараас доошгүй хугацаанд төлөвлөлт, үнэлгээ хийх шаардлагатай байсан. Төсөл нь арилжааны бус үед үүнийг яаж хийх вэ, энэ нь та хамгийн бага цагийг хөрөнгө оруулалт хийх хэрэгтэй бөгөөд тэр үед гадны үйлчлүүлэгчээс дордохгүй үр дүнд хүрэх ёстой гэсэн үг үү?

Төслийг боловсруулахад оролцсон, түүнийг мэддэг, ажиллах хүсэлтэй байгаа нөөцийн нөөцийг бид тодорхойлсон. Төсөлд хамрагдах хүмүүсийг ажиллуулах хуваарь гаргасан. Бид ажлыг үнэлж, зохицуулж, эдгээр ажлыг үндсэн төслүүдийн хоорондох "нүх"-т суулгасан. 4 сарын дараа бид програмын ажлын прототипийг хүлээн авлаа.

Одоо bot-ийн ажиллагаа, архитектур, техникийн шийдлүүдийн талаар илүү дэлгэрэнгүй ярилцъя.

Хүний нөөцийн үндсэн шаардлагуудын нэг нь асуултанд зөв хариулахын тулд хэрэглэгчийн бичсэн текстийг таних явдал байв. Та түүнд бичиж болно - би амралтаар явахыг хүсч байна, амралтаараа явахыг хүсч байна эсвэл амралтаараа явахыг хүсч байна, тэр ойлгож, зохих ёсоор хариулах болно. Эсвэл гэнэт ажилтны сандал хагарч, "сандал эвдэрсэн" эсвэл "Миний сандал хагарсан" эсвэл "Сандлын ар тал унасан" гэж бичихийг хүсч байвал зохих бэлтгэлтэй бол робот ийм хүсэлтийг хүлээн зөвшөөрөх болно. Текстийг таних чанар нь роботын сургалтаас хамаардаг бөгөөд энэ талаар бид дараа нь ярих болно.

Дараагийн шаардлага ба функцийн нэг хэсэг бол ботын харилцан ярианы систем юм. Бот нь харилцан яриа өрнүүлж, одоогийн асуудлын нөхцөл байдлыг ойлгох системийг боловсруулсан. Таны асуултын хариуд, хэрэв бид ботыг ингэхийн тулд сургасан бол тэр тодруулах асуулт асууж, яриагаа үргэлжлүүлж магадгүй. Skype нь хэрэглэгчдэд яриагаа үргэлжлүүлэх сонголтуудын талаар асуух энгийн цэсийн сонголтыг дэмждэг. Түүнчлэн, хэрэв бид харилцан яриа өрнүүлж байсан ч гэнэт сэдвээс гадуур асуулт асуухаар ​​шийдсэн бол бот үүнийг бас ойлгох болно.

Энэхүү робот нь түүний хувийн мэдээлэлд үндэслэн түүнд төрөл бүрийн олдворуудыг илгээх боломжийг олгодог. Жишээлбэл, түүний байршилд. Хэрэв хүн бие засах газар олохыг хүсч байвал түүнийг бие засах газар руу хөтлөх оффисын газрын зургийг үзүүлнэ гэж бодъё. Мөн тухайн ажилтан аль компанийн оффист байрлаж байгаагаас хамаарч картыг сонгоно.

Хамгийн чухал ажлуудын нэг бол хэрэглэгчийн хувийн мэдээллийг хамгаалах явдал юм. Бид хүн бүрт манай роботын ажилладаг нууц мэдээлэлд хандахыг зөвшөөрөх боломжгүй. Ийм роботын зөвшөөрөл авах хэрэгцээ нь түүний салшгүй хэсэг юм. Бот нь хэрэглэгчтэй ямар нэгэн яриа хэлэлцээ хийхээс өмнө түүнийг баталгаажуулахыг хүсдэг. Энэ нь ажилтан анх удаа роботтой холбоо тогтооход тохиолддог. Зөвшөөрөл нь хэрэглэгчийг зохих хуудас руу дахин чиглүүлж, хэрэглэгч токен хүлээн авч, дараа нь Skype мессеж рүү оруулна. Зөвшөөрөл амжилттай болвол та роботтой холбогдож эхлэх боломжтой.

Бот бидэнд туслах болно

Зөвшөөрөл нь Skype - портал зөвшөөрлийн үйлчилгээ, корпорацийн сүлжээ, LDAP-ээр явагддаг. Тиймээс зөвшөөрөл нь корпорацийн сүлжээн дэх одоогийн хэрэглэгчийн мэдээллээс хамаарна.

Ботыг хөгжүүлэх явцад бид хүний ​​нөөцийн роботыг хурдан дибаг хийхэд туслах портал функцэд суулгасан ямар нэгэн систем хэрэгтэйг ойлгосон. Хүний нөөцийн ажилтнууд роботтой ажиллахдаа хэрэглэгчдийн бичсэн алдааг харж, давтан сургах замаар шийдвэрлэх эсвэл хөгжүүлэгчдэд үлдээх боломжтой портал хуудсыг бид нэмсэн.

Ботыг шууд портал дээр сургах чадварыг анхнаасаа оруулаагүй. Ботыг сургах нь хүний ​​нөөцийн хэлтсийн ажилтнууд түүнтэй ажиллахдаа хамгийн түгээмэл хийдэг ажил бөгөөд роботын нэмэлт сургалтанд зориулж текст файлуудыг хөгжүүлэгчид илгээх нь хүлээн зөвшөөрөгдөхгүй гэдгийг бид хөгжүүлэлтийн явцад ойлгосон. Энэ нь хэтэрхий их цаг зарцуулж, хэтэрхий олон алдаа, асуудал үүсгэдэг.

Бот бидэнд туслах болно

Хэрэглэгчдэд ээлтэй роботыг сургах зорилгоор бид портал дээр UI бичсэн. Энэ нь хүний ​​нөөцийн мэргэжилтэнд роботын одоогийн сургалтыг харж, цаашид сургах, одоогийн сургалтанд тохируулга хийх боломжийг олгодог. Сургалтыг зангилаа, өөрөөр хэлбэл мөчрүүд нь боттой хийсэн яриа хэлэлцээний үргэлжлэл болох модны бүтцээр төлөөлдөг. Та энгийн асуулт, хариулт үүсгэж болно, эсвэл жинтэй харилцан яриа үүсгэж болно, энэ бүхэн хүний ​​​​нөөц болон тэдний хэрэгцээнээс хамаарна.

Шийдлийн архитектурын талаар хэдэн үг хэлье.

Бот бидэнд туслах болно

Шийдлийн архитектур нь модульчлагдсан. Үүнд янз бүрийн ажлыг хариуцах үйлчилгээ орно, тухайлбал:
• Azure дээрх Skype бот үйлчилгээ - хэрэглэгчийн хүсэлтийг хүлээн авч боловсруулдаг. Энэ бол хүсэлтийг хамгийн түрүүнд хүлээн авч, анхны боловсруулалтыг гүйцэтгэдэг нэлээд энгийн үйлчилгээ юм.
• Админ портал - порталыг тохируулах вэб интерфэйсээр хангадаг үйлчилгээ болон робот өөрөө. Бот үргэлж порталтай хамгийн түрүүнд холбогддог бөгөөд портал хүсэлтийн дараа юу хийхээ шийддэг.
• Зөвшөөрлийн үйлчилгээ - bot болон админ порталыг баталгаажуулах механизмаар хангана. Зөвшөөрөл Oauth2 протоколоор явагдана. Эерэг зөвшөөрөлтэй бол үйлчилгээ нь хэрэглэгчийн хүчинтэй мэдээллийн дагуу корпорацийн сүлжээнд зөвшөөрлийг гүйцэтгэдэг бөгөөд ингэснээр систем нь синхрончлолгүй өгөгдөлтэй холбоотой алдааг хянах боломжтой болно.
• AI Текст таних модуль нь Python хэл дээр бичигдсэн ба ParlAI хүрээг ашиглан текстийг өөрөө танихад зориулагдсан. Энэ бол мэдрэлийн сүлжээ, наад зах нь одоо хэрэгжиж байна. Бид асуултуудыг ойлгохын тулд tfDiff алгоритмыг ашигладаг. Модуль нь түүнтэй харилцах, суралцах API-г өгдөг.

Эцэст нь хэлэхэд, энэ бол чат бот үүсгэх бидний анхны туршлага бөгөөд бид системийг аль болох энгийн, гэхдээ нэгэн зэрэг ажиллагаатай, хөдөлмөрийн зардал багатай болгохыг хичээсэн гэж хэлмээр байна. Бидэнд маш сонирхолтой бүтээгдэхүүн байгаа гэж бодож байна. Өөрийн сургалтын системтэй, алдаа бүртгэх, мэдэгдэл илгээх боломжтой тул бусад мессенжертэй нэгтгэх боломжтой.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх