機器人會幫助我們

機器人會幫助我們

一年前,我們心愛的人力資源部門要求我們編寫一個聊天機器人,以幫助新員工適應公司。

我們預約的是我們不開發自己的產品,而是為客戶提供全方位的開發服務。這個故事將是關於我們內部專案的,該專案的客戶不是第三方公司,而是我們自己的人力資源。鑑於人員、資源和時間有限,主要任務是按時完成專案並發布產品。

首先,讓我們描述一下必須解決的問題。

開發人員大多是內向的人,不喜歡說話;在電子郵件聊天中寫下你的問題要容易得多。有了機器人,您不必考慮該問誰、打電話給誰、去哪裡,以及在哪裡尋找資訊以及資訊是否相關。

第二個問題是資訊——資訊量很大,來源不同,並不總是可用,需要不斷添加和更新。

該公司有近500名員工,他們分佈在不同的辦公室、時區、俄羅斯甚至國外的城市,通常會遇到很多問題,因此另一個任務是減輕與最常見問題相關的人力資源人員的負擔由員工。

還需要實現以下流程的自動化:新人加入公司、向新人的經理和導師發送訊息、自動發送有關新人成功適應所需通過的課程和測試的提醒。

技術要求是根據業務需求形成的。

該機器人必須在 Skype 的基礎上工作(歷史上,他們在公司中使用它),因此選擇了 Azura 上的服務。

為了限制對其的訪問,我們開始透過 Skype 使用授權機制。
ParlAI庫用於文字識別

配置、培訓、調試、設定郵件和其他任務也需要管理入口網站。

機器人會幫助我們

在進行此專案的過程中,我們遇到了一些問題和困難。

例如,Azure 帳戶存在技術問題。由於其服務中存在一些技術困難,微軟不想啟動我們的訂閱。近兩個月來,我們對此無能為力;微軟支援最終放棄了,將我們發送給合作夥伴,他們成功地設定了一切並給了我們一個帳戶。

最困難的階段是專案的開始,當你需要選擇我們將使用什麼、架構是什麼、如何以及在哪裡儲存資料、以及系統的元件和模組如何相互互動。

在我們的案例中,啟動任何專案的基本常見問題因人員配置而變得更加複雜。我們業務的具體情況是,與商業專案不同,內部專案通常是由在所需領域沒有足夠知識的開發人員進行的 - 他們只是命運的安排,最終坐在板凳上等待下一個專案很酷的大型商業專案.照理說,在這種情況下,事情的動機也很困難。生產力下降,團隊經常閒置,因此你必須說服(激勵)或改變這個人。當更換開發人員時,您需要進行培訓、轉移知識,本質上是重新啟動專案。每個新開發人員都以自己的方式看待架構,並批評以前的開發人員所做的決定和其他人的程式碼。重寫從頭開始。

這種情況持續了大約六個月。我們只是原地踏步,重構程式碼,並沒有寫任何新內容。

此外,對於內部項目,通常幾乎沒有文檔,很難理解每個時間點需要做什麼,以及當前的優先事項是什麼。需要組成一個常設團隊,建立流程,並進行至少三個月的規劃和評估。但是,當專案不是商業性的,這意味著您需要投入最少的工時,同時獲得不比外部客戶差的結果時,如何做到這一點?

我們已經確定了參與該專案開發、熟悉該專案並希望開展工作的資源庫。我們制定了專案人員聘用時間表。我們對工作進行了評估和協調,並將這些工作放入主要項目之間的「空隙」中。 4 個月後,我們收到了該應用程式的工作原型。

現在讓我們更詳細地討論一下機器人的功能、架構和技術解決方案。

HR 的主要要求之一是識別使用者編寫的文字以正確回答問題。你可以寫信給他——我想去度假,我想去度假或願意去度假,他都會理解並做出相應的回應。或者突然一名員工的椅子壞了,他想寫「椅子壞了」或「我的椅子裂了」或「椅背掉了」;經過適當的培訓,機器人會識別此類請求。文字辨識的品質本身取決於機器人的訓練,我們稍後會談到。

下一個要求和部分功能是機器人的對話系統。開發了一個系統,機器人可以在其中進行對話並了解當前問題的背景。在回答您的問題時,如果我們已經訓練機器人執行此操作,他可能會提出任何澄清問題並繼續對話。 Skype 支援簡單的選單選項來提示使用者有關繼續對話的選項。另外,如果我們正在進行對話,但突然決定問一個偏離主題的問題,機器人也會理解這一點。

該機器人可以根據使用者的個人資料向使用者發送各種工件。例如,在他的位置。假設如果一個人想要找到一個廁所,那麼他會看到一張辦公室地圖引導他到廁所。並且將根據員工所在的公司辦公室來選擇該卡。

最重要的任務之一是保護用戶的個人資訊。我們不能允許每個人都可以存取我們的機器人操作的敏感資料。這種機器人的授權需求是其不可或缺的一部分。機器人會要求使用者進行身份驗證,然後才能與他進行任何對話。這種情況發生在員工第一次聯繫機器人時。授權本身會將使用者重定向到適當的頁面,使用者在其中接收令牌,然後將其插入到 Skype 訊息中。如果授權成功,您就可以開始與機器人通訊。

機器人會幫助我們

授權透過 Skype - 入口網站授權服務、企業網路和 LDAP 進行。因此,授權取決於公司網路上的當前使用者資料。

在開發機器人的過程中,我們意識到我們需要在門戶功能中內​​建某種系統,以幫助 HR 快速調試機器人。我們新增了一個入口網頁,HR 可以在其中查看使用者在使用機器人時記錄的錯誤,並透過重新培訓解決這些錯誤或將其留給開發人員。

從一開始就沒有包含直接在門戶上訓練機器人的能力。在開發過程中,我們意識到培訓機器人是人力資源部門員工在使用機器人時最常見的任務,向開發人員發送文字檔案以對機器人進行額外培訓是完全不可接受的。這會佔用太多時間並產生太多錯誤和問題。

機器人會幫助我們

我們在門戶網站上編寫了一個使用者介面,以便對機器人進行使用者友善的培訓。它允許 HR 查看機器人當前的訓練,進一步訓練它並對當前的訓練進行調整。訓練由樹狀結構表示,其中節點(即分支)是與機器人對話的延續。您可以創建簡單的問題和答案,也可以創建有分量的對話,這一切都取決於人力資源部門及其需求。

關於解決方案架構的幾句話。

機器人會幫助我們

此解決方案架構是模組化的。它包括負責各種任務的服務,即:
• Azure 上的Skype 機器人服務- 接受並處理使用者要求。這是一個相當簡單的服務,它是第一個接收請求並執行其初始處理的服務。
• 管理入口網站- 提供用於設定入口網站和機器人本身的Web 介面的服務。機器人始終先聯繫門戶,然後門戶決定下一步如何處理請求。
• 授權服務- 為機器人和管理入口網站提供身分驗證機制。授權透過 Oauth2 協議進行。透過主動授權,服務根據有效的使用者資料在企業網路中進行授權,以便系統可以控制與資料不同步相關的錯誤。
• AI 文字辨識模組,以Python 編寫,並使用ParlAI 框架進行文字辨識本身。這是一個神經網絡,至少在目前的實作中是如此。我們使用 tfDiff 演算法來理解問題。該模組提供了用於與其通訊和學習的API。

總之,我想說,這是我們創建聊天機器人的第一次經驗,我們試圖使系統盡可能簡單,但同時功能齊全,並以最少的勞動力成本。我認為我們有一個非常有趣的產品。擁有自己的培訓系統、錯誤記錄、通知發送,它還可以與任何其他即時通訊工具整合。

來源: www.habr.com

添加評論