讓計算機能夠理解、解釋和生成人類語言的技術
自然語言處理(NLP)是人工智慧和計算語言學的交叉領域,致力於讓計算機能夠理解、解釋和生成人類語言。從早期的基於規則的方法,到統計 NLP,再到如今以 Transformer 為代表的深度學習方法,NLP 經歷了革命性的變革。現代 NLP 系統能夠執行機器翻譯、情感分析、問答系統、文本摘要、對話系統等複雜任務。
分詞是 NLP 的第一步,將文本切分為最小語義單元。基礎分詞方法包括空白分詞、標點分割和正則表達式。子詞分詞(如 Byte Pair Encoding)將單詞拆分為更小的子詞單元,能有效處理未登錄詞。BPE 通過迭代合併最常見的相鄰字符對來構建詞彙表,是 GPT 等大型語言模型採用的分詞方法。SentencePiece 提供了更靈活的語言無關分詞方案。
詞嵌入將詞彙映射到稠密向量空間,使語義相似的詞在向量空間中的距離較近。Word2Vec 提供 Skip-Gram 和 CBOW 兩種架構,使用負採樣 (Negative Sampling) 加速訓練。GloVe 利用詞共現矩陣的統計資訊來學習詞向量。現代 NLP 通常使用預訓練的上下文嵌入(如 BERT、GPT),能根據上下文動態調整詞的表示。
LSTM 和 GRU 是傳統的序列建模方法,通過門控機制解決長距離依賴問題。自注意力機制 (Self-Attention) 允許模型同時關注序列中的所有位置。Transformer 完全基於自注意力,拋棄了循環結構,支援大規模並行計算。BERT 使用雙向編碼器進行語言理解,GPT 使用單向解碼器進行文本生成,兩者都通過預訓練+微調 (Transfer Learning) 的方式大幅推動了 NLP 的發展。