Natural Language Processing, NLP (自然語言處理)

那些自然語言處理 (Natural Language Processing, NLP) 踩的坑

這是將命名實體識別應用在醫囑分析,使用的是 PaddleNLP的UIE,並搭配 doccano 另外自行標註了數據,再經過 fine-tuning 所得結果。(2023/03)

https://huggingface.co/spaces/DeepLearning101/Medical-Advice

其中用到的 schema 分別有以下數個:

'住院觸發詞': ['起始日期', '終止日期', '天數']
'燒燙傷觸發詞': ['起始日期', '終止日期']
'加護病房觸發詞': ['起始日期', '終止日期', '天數', '次數']
'門診觸發詞': ['起始日期', '終止日期', '次數']
'手術觸發詞': ['起始日期', '終止日期', '項目']
'急診觸發詞': ['起始日期', '起始時間', '終止日期', '終止時間']

關於自然語言處理,如果你在臺灣,那你第一時間應該會想到俗稱Chatbot的聊天機器人 (就是要人工維運關鍵字跟正規表示式的機器人)吧?目前為止,從最早的中英文的情感分析,陸續接觸過文本糾錯(校正)、文本分類、文本相似度、命名實體識別、文本摘要、機器閱讀理解等 (語音部份擇日另篇分享),當然自然語言處理其實博大精深,還有像是分詞、詞性標註、句法分析、語言生成等,傳說中的知識圖譜 (Ontology?) 更是大魔王了;這邊僅先匯整接觸過的做說明,當然在深度學習還未爆紅前,已經有非常多的演算法,未來也盡量針對各個項目與領域持續更新簡單介紹,就當近幾次專題演講的摘要,也算是這幾年跟小夥伴們奮鬥NLP充滿血與淚的回憶;另外,根據經驗,論文當然要追,更要實作跟實驗,但算法模型其實效果已經都差不多,如果你想將算法實際落地,別懷疑,請好好的處理你的數據,這會是蠻關鍵的地方。另外,你一定也要知道 BERT家族,早在2018年11月,Google 大神釋出 BERT 後,就差不多屌打各種自然語言處理應用 (在這之前,你想搞自然語言處理,勢必用到騰訊所開源需要16GB記憶體的Tencent_ChineseEmbedding),再後來還有像是 transformer 跟 huggingface,所以你一定要花點時間瞭解;當然,如果你真的沒太多時間投入去換跟處理數據然後重新訓練,那歡迎聯絡一下,用我們還持續迭代開發的臺灣深度大師啦,不然公開數據都是對岸用語或簡體跟英文還要擠GPU計算資源,你會很頭痛 ! 對啦,你也可以試試 NVIDIA GTC 2021 介紹的Javis等對話式AI等東西,但我想你還是會覺得不容易上手就是,除非你想自己從頭硬幹去瘋狂的標註適合自己場景的數據,然後瞭解怎樣重新訓練模型。