跳到主要內容

發表文章

目前顯示的是有「NER」標籤的文章

[NLP] 聊天機器人之語意識別自己來, 實作Named Entity Recognition 專名辨別

前言 這一兩年來Chat Bot變得非常的火紅, 許多科技大廠也紛紛釋出SDK讓開發者們可以很快速地開發bot, 並且自由地將bot部屬在他們的平台上, 如Google DialogFlow, Microsoft Azure Bot service + Luis, Amazon Alexa Skill, Facebook Wit,... 尤其是使用DialogFlow或是Azure Bot Service的開發者們, 還可以省去串接社群頻道的細節, 專心在商務邏輯的開發 這些Chat Bot背後都運用到Natural Language Understanding的技術, 將使用者輸入的句子解析成最有可能的意圖(Intent)以及句子當中我們感興趣的字詞(Entity) 有了Intent與Entity之後, Bot 就能夠根據這些資訊來回答使用者的問題 相關技術:   Intent Classification: 預測目前的輸入句是屬於哪一種意圖   Named Entity Recognition, NER (專名辨別) :  從句子中挖出感興趣的字詞 基於這些技術, 開發者不需要在後端建立一大堆的條件判斷式, 以及Regular Expression 雖然這功能很好用, 但是天下沒有白吃的午餐, 這些服務的收費也是貴的很誇張, 如果想要省錢的話, 其實也可以透過開放資源自己去兜一個出來, 以下內容就教各位如何使用現成的開放資源來做NER Step 1. 安裝相關python模組  nltk / sklearn_crfsuite / sklearn $ pip install python-crfsuite nltk 下載NLTK上的套件 $ python -m nltk.downloader all Step 2. 將相關模組匯入 import nltk import pycrfsuite Step 3. 選擇語料庫 NLTK download 做完之後, 本機上會出現許多語料庫可以讓我們直接使用 這次的示範使用conll2000的語料庫, 基本上裡面的句子都已經以 IOB(Inside–outside–beginning)的形式 被...