你有沒有遇過一句話字面看得懂,真正意思卻要想一下? 你可以把它想成不只認字,還要抓語意、關係、意圖、和上下文。 自然語言理解關心的是電腦怎麼看懂人話背後真正要表達的意思。 這也讓它很適合先拿到可用答案,再慢慢把精度往上推。 這種寫法常用在需要先把問題定義清楚,再逐步提升模型品質的場景。
容易混淆
自然語言理解 vs 自然語言處理 自然語言理解:偏看懂語意 自然語言處理:整個處理文字的領域 最關鍵的區別:先看它是在比什麼,再看它怎麼做。
自然語言理解 vs 自然語言生成 自然語言理解:讀懂輸入 自然語言生成:產出文字 最關鍵的區別:先看它是在比什麼,再看它怎麼做。
記住這句就好
不是認字,是讀懂意思。
實際案例
客服意圖 使用者說「我想退訂」,系統要理解這不是一般查詢,而是取消服務。
問答系統 模型要判斷問題在問時間、地點,還是比較關係。
算法與應用
NLU 常會做意圖辨識、實體辨識、關係抽取、和語意表示。 它和 NLP 的差別,在於目標更聚焦在理解,而不是整個文字處理流程。 理解通常比分類更難,因為語意有歧義,還有上下文變化。
情境判斷
Q1(直覺題): 一句「我不是不想去」到底是不是拒絕,這考驗什麼?
自然語言理解,因為要讀懂反諷與語氣。
Q2(判斷題): 只靠關鍵字就能完全判斷意圖嗎?
通常不行,很多語意要看前後文和句法。
常見問題
它和 NLU 引擎一樣嗎?
常被這樣叫,但本質上還是在做語意理解任務。
它一定比分類難嗎?
通常更難,因為要抓的不只是標籤,而是語意層次。
它能單獨存在嗎?
可以,很多產品會把 NLU 當成一層核心模組。