nlp-句法分析

目錄

一、句法概述

1、成分語法理論概述

(1)分析過程? ? ? ?

(2)缺點? ? ? ??

2、依存語法理論概述

(1)依存關系、配價模式

(2)分類

(3)優勢:

二、成分句法分析

1、基于上下文無關文法(CFG)的成分句法分析

(1)經典分析算法:

(2)核心挑戰

2、基于概率上下文無關文法(PCFG)的成分句法分析

(1)經典算法

(2) PCFG的模型參數學習過程

3、成分句法分析評價標準

三、依存句法分析

1、基于圖

(1) 基本思想

(2)經典算法

非投射性依存句法分析:朱-劉/埃德蒙茲算法

投射性依存句法分析--基于動態規劃的算法

2、基于神經網絡的圖依存句法分析

3、基于轉移

4、基于神經網絡的轉移依存句法分析

5、依存句法分析評價方法

四、句法分析語料庫


????????句法分析是指對輸入的單詞序列(一般為句子)判斷其構成是否合乎給定的語法,分析合乎語法的句子的句法結構。

????????句法分析句法分析是句子結構和語義之間的橋梁,具有非常重要的作用,很多自然語言處理算法需要依賴句法分析結果,因此句法分析效果也直接影響到很多自然語言處理應用。句法分析是自然語言處理中長期關注的核心問題之一。
????????本章中,句法分析任務限定在得到完整的句法分析樹,重點介紹了基于有監督機器學習算法的句法分析方法。對成分句法分析和依存句法分析分別介紹了各類型的評價方法。

一、句法概述

????????句法(Syntax)就是研究自然語言中不同成分組成句子的方式以及支配句子結構并決定句子是否成立的規則。

1、成分語法理論概述

????????成分(Constituent)又稱短語結構,是指一個句子內部的結構成分,成分可以獨立存在,或者可以用代詞替代,又或者可以在句子中的不同位置移動。

????????根據不同成分之間是否可以進行相互替代而不會影響句子語法正確性可以進一步地將成分進行分類,某一類短語就屬于一個句法范疇:比如“一本小說”“”一所大學”等都屬于一個句法范疇:名詞短語(None Phrase,NP)

(1)分析過程? ? ? ?

?????????成分語法就是由句法范疇以及短語結構規則定義的語法。由于短語結構規則具有遞歸性,可以使短語和句子無限循環組合。

(2)缺點? ? ? ??

由于成分語法局限于表層結構分析,不能徹底解決句法和語義問題,因比存在非連續成分、結構歧義等問題。如:

2、依存語法理論概述

?????在依存語法理論中,“依存”就是指詞與詞之間支配與被支配的關系,這種關系不是對等的,而是有方向的。處于支配地位的成分稱為支配者(governol,regent,head),而處于被支配地位的成分
稱為從屬者(modifier,subordinate,dependency)。

(1)依存關系、配價模式



(2)分類

????????在圖 3.7 “Something about this book is unusual” 中,句子里詞語之間的依存關系在平面上不會出現交叉 ,就像從根節點向其他節點投射射線一樣,各射線互不干擾,所以符合投射性原則。圖 3.8 “Something is unusual about this book” 里,從依存關系來看,成分之間的依存連線在平面上會出現交叉 ,導致依存連線在圖中出現了交叉的情況,不再是有序的投射狀,所以違反了投射性原則。

(3)優勢:

  • 簡單,直接按照詞語之間的依存關系工作,是天然
  • 詞匯化的;不過多強調句子中的固定詞序,對自由語序的語言分析更有優勢;
  • 受深層語義結構的驅動,詞匯的依存本質是語義的:
  • 形式化程度較短語結構語法淺,對句法結構的表述更為靈活。

二、成分句法分析

因句法結構歧義,句法分析需消除歧義,成分語法里結構歧義主要有兩種。

  • 附著歧義(Attachment ambiguity):示例為句子 “The boy saw the man with the telescope” ,即短語等成分在句法結構中 “附著” 位置不確定產生的歧義 。
  • 并列連接歧義(Coordination ambiguity):示例是 “重要政策和措施” ,因并列成分的連接關系、范圍等不確定,導致句法結構理解有歧義 ,比如 “(重要政策)和(措施)” 與 “重要(政策和措施)” 兩種可能理解。

1、基于上下文無關文法(CFG)的成分句法分析

核心是通過 CFG 規則解析句子的層次化成分結構(如短語、子句等),最終生成句法樹(短語結構樹)來表示句子的句法組織方式。

  • 成分(Constituent):指句子中具有獨立句法功能的子序列(如 “名詞短語 NP”“動詞短語 VP”),例如 “一只黑貓” 是 NP,“在樹上跳” 是 VP。
  • 短語結構樹:以樹狀結構直觀展示成分的層次關系,樹根為起始符號 S,葉節點為句子中的詞語(終結符),中間節點為非終結符(句法范疇)

(1)經典分析算法:

示例:【自頂向下】

????????把所有的字符都吃進來的時候。這個時候就完成最終的句法的結構的生成

CYK算法【自底向上】

(2)核心挑戰

基于 CFG 的成分分析面臨的最大問題是句法歧義:同一個句子可能對應多個符合 CFG 規則的句法樹。例如,句子 “咬死了獵人的狗” 存在兩種歧義:

  • (咬死了)(獵人的狗)——“狗” 是 “咬死了” 的賓語;
  • (咬死了獵人的)狗 ——“狗” 是主語,“咬死了獵人的” 修飾 “狗”。

2、基于概率上下文無關文法(PCFG)的成分句法分析

????????CFG的擴展?,為 CFG 的產生式添加概率(如 P (A→α) 表示規則 A→α 的使用概率),通過計算句法樹的總概率,選擇概率最高的樹【Viterbi 樹】作為最優解,解決了 CFG 中句法歧義問題

(1)經典算法

(2) PCFG的模型參數學習過程

3、成分句法分析評價標準

衡量句法分析結果與標準句法樹(參考樹)的契合程度

三、依存句法分析

????????依存句法分析(Dependency Parsing)任務目標是依據依存語法理論分析輸入句子得到其依存句法結構樹。

1、基于圖

??基于圖的依存句法分析主要包含邊評分模型和旬法樹生成算法兩個部分組成。其中邊評分模型對于分析效果具有決定性的影響。核心是構造評分函數,為 “詞與詞之間的依存關系” 打分,最終選擇分數最高的合法依存樹。

? ?(1) 基本思想

????????將句子中的每個詞視為圖的節點,詞與詞之間的可能依存關系視為有向邊(邊的方向從依存詞指向中心詞),通過定義 “邊的打分函數” 計算每個可能依存關系的權重,最終從所有可能的依存樹中選擇總權重最高的樹。

(2)經典算法

??????

????????利用最大生成樹算法得到的依存句法樹不具備投射性。
????????針對具有投射性要求的依存句法樹,可以利用其與上下文無關語法之間的強相關性,利用基于CYK 算法等上下文無關語法分析算法進行依存句法樹分析。

非投射性依存句法分析:朱-劉/埃德蒙茲算法

? ? ? ? 一種帶權有向圖的最小/大生成樹尋找算法。

投射性依存句法分析--基于動態規劃的算法

2、基于神經網絡的圖依存句法分析

????????將句子視為一個 “詞節點構成的完全圖”,用神經網絡預測 “詞與詞之間的依存弧概率”,再通過圖論算法(如最大生成樹算法)從全圖中選出最優依存樹(滿足無環、單根等句法約束)

3、基于轉移

????????模擬人類 “逐步構建依存樹” 的過程,通過有限狀態轉移(如Shift/Reduce/Arc操作)增量式生成依存樹。

4、基于神經網絡的轉移依存句法分析

????????用神經網絡替代轉移系統中的 “手工特征 + 分類器”,學習狀態到動作的映射。

5、依存句法分析評價方法

(1)無標簽依存準確率

(2)有標簽依存準確率

四、句法分析語料庫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92815.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux磁盤加密

在Linux中,磁盤加密是一種保護數據不被未授權訪問的方法。有多種工具和策略可以實現磁盤加密,包括使用Linux內核的內置功能,如dm-crypt,以及使用更高級的解決方案,如LUKS(Linux Unified Key Setup&#xff…

大數據架構演變之路

目錄 一、各階段的架構簡介 二、各個架構的詳細解釋 1. 傳統離線架構 2.1. Lambda架構-離線數倉分析實時鏈路分析 2.2. Lambda架構-離線數倉實時數倉 3. Kappa/流批一體架構 4. 湖倉一體架構 三、總結 一、各階段的架構簡介 技術架構 核心驅動(核心需求) ?關鍵技術 …

STM32 HAL庫驅動0.96寸OLED屏幕

STM32 HAL庫驅動0.96寸OLED屏幕 項目概述 本項目使用STM32 HAL庫為0.96寸OLED屏幕編寫驅動程序。OLED屏幕通過I2C接口與STM32單片機通信,實現文本、數字和圖形的顯示功能。 項目倉庫地址:STM32_Sensor_Drives 硬件連接 OLED屏幕通過I2C接口與STM32連…

橫向越權:修改參數訪問不屬于自己的數據

一、什么是橫向越權定義 橫向越權(Horizontal Privilege Escalation)是指 同一權限級別的用戶,通過篡改請求參數或資源標識,訪問本不屬于自己的數據或功能。例子 假設一個在線商城,用戶 A 訪問訂單詳情的 URL&#xff…

攻擊實驗(ARP欺騙、MAC洪范、TCP SYN Flood攻擊、DNS欺騙、DHCP餓死)

實驗一 ARP欺騙一、拓撲二、實驗準備、1.設置終端漏洞靶機集合選擇需要的數量和鏡像打開設備上的驅動精靈安裝網卡安裝成功后查看IP地址、網關信息等。三、實驗步驟1.實驗原理中間人(攻擊者)在終端與網關之間持續發送偽造的 ARP 應答包,雙向欺…

VSCode 禁用更新檢查的方法

通過設置菜單禁用 這是最直接和推薦的方法,可以永久禁用自動更新: 打開 VSCode。點擊左下角的齒輪圖標,然后選擇“設置”。或者通過菜單欄“文件” > “首選項” > “設置”進入。在頂部的搜索框中輸入“update”。找到“Update: Mode”…

Flutter - 應用啟動/路由管理

一、應用入口1. 初始化 Flutter 底層綁定 ,運行 App。import package:flutter/material.dart; import package:flutter_base/Application.dart;void main() {// 確保綁定初始化WidgetsFlutterBinding.ensureInitialized();// App初始化Application.init(); }2. 注冊…

MySQL 數據操作全流程:創建、讀取、更新與刪除實戰

MySQL系列 文章目錄MySQL系列前言一、Create(創建)并插入數據1.1 單行數據 全列插入1.2 多行數據 指定列插入1.3 插入沖突時同步更新1.4 沖突時替換二、Retireve讀取數據2.1 全列查詢2.2 查詢指定列2.3 查詢字段為表達式2.4 結果去重 DISTINCT2.5 where條件篩選2.6 order by語…

SQL約束:數據完整性的守護者

在SQL中,約束(Constraints) 是作用于數據庫表字段上的規則,用于強制保證數據的完整性、準確性和一致性。當插入、更新或刪除數據時,約束會自動驗證操作是否符合規則,若違反則拒絕執行。 以下是SQL中常見的約…

Springboot-vue 地圖展現

在很多社區管理系統中,地圖展示功能是一個重要的模塊,它能直觀地呈現小區的地理位置分布。本文將詳細梳理從前端觸發請求到地圖上展示小區數據的完整流程,幫助大家理解前后端協同工作的具體細節。一、前端觸發:頁面加載與地圖初始…

Vue 3 登錄組件

Login.vue 組件詳細分析整體架構 Vue 3 登錄組件&#xff0c;采用 Composition API Element Plus UI 庫&#xff0c;實現了完整的用戶認證界面。 模板結構分析 1. 容器布局 <div class"login-container"><el-card class"login-card"><!-- …

小結: getSpringFactoriesInstances從 `spring.factories` 文件中加載和實例化指定類型的類

getSpringFactoriesInstances 方法工作原理 getSpringFactoriesInstances 是 Spring Boot 框架中的一個核心方法&#xff0c;用于從 spring.factories 文件中加載和實例化指定類型的類。這是 Spring Boot 實現自動配置和插件化擴展的關鍵機制。 1. 基本功能 該方法的主要作用是…

selenium SessionNotCreatedException問題解決辦法

在上周有一臺服務器重啟之后&#xff0c;Chrome瀏覽器也自動升了級&#xff0c;原本能夠正常使用的自動化辦公程序突然沒法用了&#xff0c;出現了下面的報錯提示。codes/addCancelBdld.py:980: DeprecationWarning: use options instead of chrome_optionsdriver webdriver.C…

SOAP HTTP Binding

SOAP HTTP Binding 引言 SOAP(Simple Object Access Protocol)是一種輕量級、簡單的協議,用于在網絡上交換結構化信息。它廣泛應用于Web服務中,用于實現不同系統和應用程序之間的通信。SOAP HTTP Binding是SOAP協議的一種實現方式,它允許使用HTTP協議來傳輸SOAP消息。本…

GPT-5免費使用教程(國內可訪問)

GPT-5來了&#xff0c;壓力給到各大AI模型廠商&#xff1f; 北京時間2025年8月7日&#xff0c;OpenAI 推出兩款開源模型 gpt-oss-120b / 20b&#xff0c;性能逼近 o4-mini/o3-mini&#xff0c;一時間火爆AI圈&#xff1b;但這好像只是一道開胃小菜&#xff0c;在北京時間2025年…

內存作假常見方案可行性分析

內存作假通常修改所涉及到的幾個文件&#xff1a;M sys/frameworks/base/core/java/android/app/ActivityManager.javaM sys/frameworks/base/core/jni/android_os_Debug.cppM sys/frameworks/base/core/jni/android_util_Process.cppM sys/frameworks/base/services/core/java…

C#(vs2015)利用unity實現彎管機仿真

以下是基于 Visual Studio 2015 和 Unity 實現彎管機仿真的完整技術流程&#xff0c;結合工業仿真開發的最佳實踐整理而成&#xff0c;涵蓋建模、通信、運動控制和交互邏輯等核心模塊&#xff1a;---一、環境配置與基礎框架搭建 1. Unity 與 VS2015 聯動 - 安裝 [Visual Studio…

華為USG防火墻雙機,但ISP只給了1個IP, 怎么辦?

華為USG防火墻雙機&#xff0c;但ISP只給了1個IP&#xff0c; 怎么辦&#xff1f; 華為USG雙機使用VRRP&#xff0c;需要3個Ip 本次聯通只給了 100.1.1.0/30 這一個互聯段 聯通側用了100.1.1.1&#xff0c; 我們這一側只有100.1.1.2 怎么辦&#xff1f; 找聯通多要幾個Ip&…

Go 工具鏈環境變量實戰:從“command not found”到工具全局可用的全流程復盤

在 Go 生態里&#xff0c;豐富的命令行工具極大提升了開發效率。但很多小伙伴第一次用 go install 安裝第三方工具后&#xff0c;卻遇到終端里找不到命令的尷尬——明明裝好了&#xff0c;終端卻報 “command not found”。這是為什么呢&#xff1f;本文結合我親身踩過的坑&…

MCU 軟件斷點注意事項!!!

——為什么調試器會在運行中改我的Flash程序&#xff1f;調試單片機時&#xff0c;很多人都有這樣的疑問&#xff1a;明明我在調試前刷進去的固件是好的&#xff0c;為什么加了一個斷點之后&#xff0c;調試器居然去改了 Flash&#xff1f; 如果我拔掉調試器&#xff0c;這個固…