Search this site
Embedded Files
TonTon Huang Ph.D. | 痛 痛
  • TonTon Huang Ph.D.
    • Blog
  • Experiences
  • Research (Cyber-Security)
    • R2-D2
    • C-3PO
    • TWMAN / MiT
  • AI/ASR/NLP/CV
    • AI-Companion-Robots
    • GenAI in Finance
    • ASR (語音識別)
      • 中文語者識別(聲紋)
      • 中文語音增強(去噪)
      • 中文語者分離(分割)
    • NLP (自然語言處理)
      • 中文文本糾錯
      • 中文機器閱讀理解
      • 中文實體識別
      • 中文文本分類
      • 中文文本相似度
    • CV (電腦視覺)
    • Instruction
  • Deep Learning 101
TonTon Huang Ph.D. | 痛 痛
  • TonTon Huang Ph.D.
    • Blog
  • Experiences
  • Research (Cyber-Security)
    • R2-D2
    • C-3PO
    • TWMAN / MiT
  • AI/ASR/NLP/CV
    • AI-Companion-Robots
    • GenAI in Finance
    • ASR (語音識別)
      • 中文語者識別(聲紋)
      • 中文語音增強(去噪)
      • 中文語者分離(分割)
    • NLP (自然語言處理)
      • 中文文本糾錯
      • 中文機器閱讀理解
      • 中文實體識別
      • 中文文本分類
      • 中文文本相似度
    • CV (電腦視覺)
    • Instruction
  • Deep Learning 101
  • More
    • TonTon Huang Ph.D.
      • Blog
    • Experiences
    • Research (Cyber-Security)
      • R2-D2
      • C-3PO
      • TWMAN / MiT
    • AI/ASR/NLP/CV
      • AI-Companion-Robots
      • GenAI in Finance
      • ASR (語音識別)
        • 中文語者識別(聲紋)
        • 中文語音增強(去噪)
        • 中文語者分離(分割)
      • NLP (自然語言處理)
        • 中文文本糾錯
        • 中文機器閱讀理解
        • 中文實體識別
        • 中文文本分類
        • 中文文本相似度
      • CV (電腦視覺)
      • Instruction
    • Deep Learning 101

中文命名實體識別

Chinese Named Entity Recognition
適用針對文本(對話)內容之實體 (店名、人名、食物名等等)進行識別
中文語音識別、中文語音去噪、中文文本分類、中文文本糾錯、中文機器閱讀理解、中文文本相似度、中文聲紋識別、中文語者分離

Diffusion Model 完全解析:從原理、應用到實作 (AI 圖像生成) | ASR/TTS 開發避坑指南:語音辨識與合成的常見挑戰與對策
那些自然語言處理 (Natural Language Processing, NLP)踩的坑| 那些語音處理 (Speech Processing) 踩的坑
那些大型語言模型要踩的坑 | 檢索增強生成(RAG)不是萬靈丹之優化挑戰技巧 | 白話文手把手帶你科普 GenAI  
Call for Partner or POC (Proof of Concept), Contact: TonTon ( at ) TWMAN.ORG
https://deep-learning-101.github.io/ | DEMO | https://huggingface.co/DeepLearning101

目標是在文本中自動識別出命名實體,如人名、地名、組織機構等。早期的實體識別主要依賴於規則系統和標注語料庫,這些方法雖然能夠識別常見的實體,但對於新詞或模糊詞的識別效果有限。 

隨著統計模型和機器學習方法的引入,條件隨機場(CRF)、隱馬爾可夫模型 (HMM) 等技術在實體識別中開始廣泛應用。這些模型通過學習文本特徵之間的關聯來進行實體識別,學習實體的上下文特徵和標註規律。 

隨後,深度學習模型如LSTM和BERT的出現,能做到自動學習實體特徵,減少了人工干預的需求,並且更好地捕捉上下文信息。進一步提升NER的性能。 

再來是基於Transformer的BERT等,顯著提升了中文實體識別的準確度。這些模型可以處理長距離依賴問題,並通過上下文捕捉更豐富的語義信息,從而在實體識別任務中表現出色。 最後則是大型語言模型了,能做到更精準的實體表示,並且結合上下文信息,更準確地識別實體,特別是處理歧義現象和新興實體。(2024/10)

這是將命名實體識別應用在醫囑分析,使用的是 PaddleNLP的UIE,並搭配 doccano 標註數據,fine-tuning 前的結果;但用CPU,所以有點慢。(2023/03)

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

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

記得前後兩次陸續投入總計約100天。或許有人會發現為何在分享這幾篇自然語言會強調中文數據?最好理解的說法就是中文是基於字表示再加上中文斷詞的效果,比起每個單詞只需空格來表示的英文硬是麻煩點。命名實體識別 (Named Entity Recognition, NER) 是指將語句中的元素分成預先定義的類別 (開放域來說包括實體、時間和數字3個大類,人名、地名、組織名、機構名、時間、日期、數量和名字等7個小類,特定領域就像是藥名、疾病等類別)。要應用在那方面?像是關係抽取、對話意圖理解、輿情分析、對話NLU任務等等都用得上,更廣義的就屬填槽 (Slot-Filling) 了。

最早 (2019/08時) 我們需處理的場景是針對電話助理的對話內容 (就是APP幫你接電話跟對方對話) 在語音識別後跟語音合成前的處理,印像中沒做到非常深入;後來剛好招聘到熟悉NER這部份的小夥伴們,剛好一直想把聊天對話做個流程處理 (多輪對話的概念) ,就再花了點時間當做上手,因為不想依賴大量關鍵字和正規表示式做前處理,中間試了不少數據集,還做了像是用拼音、注音等,或者品牌定義等超多的實驗,甚至還一度想硬整合 RASA 等等的開源套件,也嘗試用了 "改寫" 來修正對話內容,去識別出語句中的重點字。至於這個的數據標據就真的更累人,意外找到一個蠻好用的標註系統 ChineseAnnotator,然後我們就瘋狂開始標註 !

NER

  • NER:將語句中的元素分成預先定義的類別(人名、地名...)

    • 傳統NER七大類別

    • 3大類:實體/時間/數字

    • 7大類:人名/地名/組織名/機構名/時間/日期/貨幣/百分比

  • 現有工具:

    • FLAT: Chinese NER Using Flat-Lattice Transformer:https://arxiv.org/pdf/2004.11795.pdf

    • Standford Parser:https://nlp.stanford.edu/software/CRF-NER.html

    • spaCy:https://spacy.io

    • 哈工大LTP:https://ltp.ai

      • Package: pyltp (LTP的python封裝)

      • 安裝與使用說明文件

      • 線上測試

      • 優點:包含分词、詞性標記、NER、依存句法分析和語意角色分析等功能

      • 缺點:各功能間存在依賴性,較難個別拆解

    • 中研院CKIP:https://github.com/ckiplab/ckiptagger

      • 台灣中央研究院釋出的處理工具,比起一代的版本更有彈性且開源

      • 中文說明

      • 優點:

        • 不支援不限長度的句子,且不會自動 增/刪/改 字

        • 使用者可自訂參考或強制的詞典並設定權重

      • 缺點:對於簡體中文與大陸用語的支援度可能不適用

    • 近期做法:使用BERT(或其變種)取代embedding

    • BERT

    • Albert

    • Huggingface Transformer

      • 建構在pytorch和tensorflow2.0上,支援多種pre-trained language model供人使用

      • 中文說明與範例

      • 範例:

from transformers import *

import torch

input = 'hello'  # 定義input

tokenizer = BertTokenizer.from_pretrained('bert-base-cased') # 載入tokenizer

token = tokenizer.encode(input) # 對input進行編碼

token_tensor = torch.tensor([token]) # 將輸入轉換成tensor (張量)

model = BertModel.from_pretrained('bert-base-cased') # 載入模型

model.eval() # 將模型設定為evaluation模式並關閉dropout

model(token_tensor) # 將輸入轉換成embedding

    • TinyBert

Slot-Filling

Chatbot 系統流程

  • 開放域多輪對話:判斷使用者的意圖

    • 允許條件:從開放域進入封閉域或是封閉域間的跳轉所需要的邏輯判斷

    • 封閉域對話:判斷使用者意圖後為了確認目的而進行的對話

      • input, output是可以列舉的

      • 對話有明確的目的與流程

  • 填槽:讓使用者意圖轉化為明確的指令進而補全訊息的過程,將query中被明確定義屬性的值從資料集中抽取出來

定義

  • 槽(Slot):被明確定義type的entity

    • type分為可空白/不可空白填寫

    • 當type為不可空白而同時又沒有填寫時,必須進行clarify

    • clarify存在先後順序

    • 槽與槽之間分為

      • 平級槽:兩個槽之間沒有依賴關係

      • 依賴槽:後續的槽依賴前面的槽(不同國家手機號碼格式不同,故國家槽影響手機號碼槽)

  • 多輪記憶狀態

    • 槽位:槽由槽位構成,一個槽位就是一種填槽的方式

    • Type:

      • 詞槽:透過使用者對話中的關鍵字獲取訊息的方式

      • 接口:透過其他方式獲取訊

      • 槽位之間也存在優先級

      • 若使用者透過詞槽指定後期優先級別應該為最高

    • 類別: 150細類 (參考論文)

Taiwan's front-line battle against mobile phone fraud @ bbc.com
AI Improves the Frequency and Quality of Mobile App Notifications @ nvidia.com
ComfyUI + Multimodal Model + Segment Anything Model 2 + Stable Diffuision + FLUX
那些自然語言處理 (Natural Language Processing, NLP)踩的坑 | 那些ASR和TTS可能會踩的坑 | 那些語音處理 (Speech Processing) 踩的坑
那些大型語言模型要踩的坑 | 那些檢索增強生成 (Retrieval-Augmented Generation, RAG) 要踩的坑 | 白話文手把手帶你科普 GenAI  
Career - 十大熱門人才系列報導: 機器學習專家 | 科技抗疫: 提高聲紋辨識正確率,添防疫新利器
https://huggingface.co/DeepLearning101 | Google Scholar | ScholarGPS  | https://github.com/Deep-Learning-101

© 2010-2025 TonTon H.-D. Huang Ph.D. ALL RIGHTS RESERVED | TonTon (at) TWMAN.ORG
M.S., OASE Lab., Dept. of Information and Learning Technology (數位學習科技學系), National University of Tainan (國立臺南大學), Taiwan;Prof. Chang-Shing Lee
Ph.D., IKMLab., Dept. of Computer Science and Information Engineering (資訊工程學系), National Cheng Kung University (國立成功大學), Taiwan;Prof. Hung-Yu Kao
Over 10 years of academic research and industry hands-on experiences in Cyber-Security, Speech Processing, Natural Language Processing & Computer Vision

Report abuse
Page details
Page updated
Report abuse