![大数据搜索引擎原理分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/716/25462716/b_25462716.jpg)
3.5 依存句法分析
依存句法分析在机器翻译中经常用到,主要针对句子和短语进行结构化分析,用于确定句子中的词与词、短语与词等之间的相互关系,并利用树结构进行层次化表达。它是自然语言处理的关键问题之一。
3.5.1 依存句法分析概要
从搜索引擎的角度来看,依存句法分析可以使搜索引擎更加准确地理解文本信息,例如,确定句子中的词语相互关系及特定修饰性词语,尤其是在智能搜索中,对句子的理解往往决定了数据理解的方向。例如,对于搜索句子“马云的淘宝网创办于什么时候”,通过句法分析,可以得到搜索句子的搜索重心是词语“创办”,而不是“马云”或者“淘宝网”,“马云”“淘宝网”仅仅是核心成分的修饰词而已,用户期望的搜索结果也与“马云”没有直接关系,而“淘宝网创办”才是整个搜索的核心。
依存句法分析需要通过机器学习的方式进行。以清华大学汉语均衡语料库TH-ACorpus中的中文语义依存关系分析语料库为例,如表3-19所示。
表3-19 中文语义依存关系分析语料库
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0080_0001.jpg?sign=1738851084-K9WB2rC5qENOjxqVsNiVPXyFKkIeAtZn-0-fea601d756487142838120caf2d52ab0)
如表3-19所示为语料库内容的一般形式,也可以将其表达为依存句法关系图和依存句法关系树,分别如图3-10和图3-11所示。
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0080_0002.jpg?sign=1738851084-E2BvoUaIVPrShojdalp0uPKt6GtnyLl6-0-9c7472405fdc4953c0754e051a2c95a2)
图3-10 “伊斯兰世界的又一奇迹”的依存句法关系图
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0081_0001.jpg?sign=1738851084-71obrDBNni447BlrO4fowgixNG1kDgHU-0-50db7547e53a37251acdbf30ad31ecbd)
图3-11 “伊斯兰世界的又一奇迹”的依存句法关系树
“马云的淘宝网创办于什么时候”的依存句法关系树如图3-12所示。
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0081_0002.jpg?sign=1738851084-06RxXtrNw3qZbwgnhiDadZ2pjX6x2fRA-0-7bc88a3411edc0d5ea2dabdd6927ac06)
图3-12 “马云的淘宝网创办于什么时候”的依存句法关系树
语料库中的依存关系包括主语义关系、辅助语义关系、定状语语义关系、连动词及从句语义关系、特殊句法结构、特殊关系,如表3-20所示。
表3-20 语料库中的依存关系种类集合
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0081_0003.jpg?sign=1738851084-SdOtdyDpmE32dPeheywmKHPf7Fk6mvuf-0-22757db8fc40485e04d99bb41338ad5d)
3.5.2 依存句法分析实现
按照传统的方式进行依存句法分析,主要分为两个步骤:判定和分类。判定是一个二分类问题,用于判定两个词语之间是否存在依存关系;而分类则是一个多分类问题,通过依存关系判定在确定句子成分之间存在依存关系的情况下,依存关系分类给句子成分之间确定其所属的关系。传统的依存句法分析方式相对比较复杂,也可以采用最大生成树模型构建依存句法分析器。
基于最大生成树模型的依存句法分析的大致思路为:首先,通过计算两个词语A和B之间的依存关系概率、词语A的词性与词语B构建依存关系概率、词语B的词性与词语A构建依存关系概率,以及词语A、B词性之间的依存关系概率,计算词语A和词语B之间的多条依存句法边,权值为上述计算的4种概率的综合;其次,取权值最大的边作为唯一的边,并加入有向图中;最后,在有向图中利用Prim算法构造最大生成树。例如,对句子“我看电影”进行依存句法分析,大致步骤如下。
(1)分词与词性标注。对“我看电影”进行分词和词性标注,结果为“我\rr看\v电影\n”。
(2)确定图节点。在图3-10中,所有数据节点中还包含一个“Root”节点,它是句子中核心成分指向的点。因此,在引入“Root”节点之后,对于“我看电影”则存在4个点,分别是“#核心成分#\Root”“我\rr”“看\v”“电影\n”。
(3)生成有向图。在生成有向图之前,需要获得词语与词语之间的依存关系情况,而这些则通过计算类似表3-19中的语料库信息而得。上一步已经确定图中存在4个点,则这4个点两两之间都可能存在依存关系,所以一共会构成12条边(值)。图中4个点之间的关系如表3-21所示。
表3-21 “#核心成分#\Root、我\rr、看\v、电影\n”的依存关系统计
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0083_0001.jpg?sign=1738851084-JivUKLJU9UERSIP9uxMFBbWh9quC5QhB-0-b2e825126d4e53044b972c2f31c02d6c)
根据表3-21中的依存关系统计信息生成有向图,如图3-13所示。图中从“看”到“我”之间的边信息“连接依存(0.05)、施事(0.04)”表示两条边的集合,括号内为边的带权值。
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0084_0001.jpg?sign=1738851084-e1nnHiUq03sxoPxy9Co2IIxARwDydJjD-0-edbc0ededb4ab43c46e6a502f8664f8d)
图3-13 “#核心成分#\Root、我\rr、看\v、电影\n”生成的有向图
(4)利用Prim算法构造最大生成树。最大生成树实质上是在图3-13中选择一条最佳带权路径,使得路径权值之和最大。首先,从图3-13中点“核心成分”开始,选择指向它的最大路径权值0.38对应的点“看”,按照Prim算法,此刻再选择距离“核心成分”与“看”路径权值最大的点,但是由于依存句法中“核心成分”仅允许存在一项,因此不再以“核心成分”作为观察点,选择距离点“看”拥有最大路径权值0.29的点“电影”;其次,对点“看”和“电影”选择指向它们的拥有最大路径权值0.22的点“我”,执行到此步已经不存在未被访问的点,则意味着上述过程完成了最大生成树的选择。因此,“#核心成分#\Root、我\rr、看\v、电影\n”构造的最大生成树如图3-14所示。
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0084_0002.jpg?sign=1738851084-Mt9jT67LTaiwWdLfsA8DZ36tHlc6hM5s-0-3133ca532085c7588c72d641d89c03f1)
图3-14 “#核心成分#\Root、我\rr、看\v、电影\n”构造的最大生成树
在构造最大生成树之后,可以依据最大生成树构建依存句法关系图。如图3-15所示为“我看电影”的依存句法关系图。
![](https://epubservercos.yuewen.com/16A3B2/13916129805955906/epubprivate/OEBPS/Images/figure_0085_0001.jpg?sign=1738851084-cagAIpehIBo7cb6NPdMCcYxVhT41evZl-0-ec27ccfa4fb8f7a373c1704d9b690503)
图3-15 “我看电影”的依存句法关系图