主要内容

使用语法依赖分析分析句子结构

这个例子展示了如何使用语法依赖分析从句子中提取信息。

语法依赖分析是通过突出句子中单词之间的依赖关系来识别句子的语法结构的过程。例如,你可以指出哪些形容词修饰哪些名词。

可以使用语法依赖分析从句子中提取信息。例如,对于句子"如果你看到蓝色的灯,就按红色的按钮。“你可以解析句子的语法细节,并通过编程获得按钮是红色的,应该按下。

这张图表显示了一个句子的语法结构。

DependencyChart.png

添加语法依赖细节

创建一个包含要分析的句子的字符串标量。

str =“如果温度达到100度,就关闭加热元件。”

标记文本并向文档添加语法依赖项。的addDependencyDetails功能需要文本分析工具箱™模型用于UDify数据支持包。如果没有安装支持包,则该函数提供下载链接。

文档= tokenizedDocument(str);文档= addDependencyDetails(文档);

方法查看令牌详细信息tokenDetails函数。的addDependencyDetails函数添加变量而且依赖到餐桌上去。

tdetails = tokenDetails(文档)
tdetails =13×8表Token DocumentNumber SentenceNumber LineNumber Type Language Head Dependency _____________ ______________ ______________ __________ ___________ ____________ __________ "If" 1 1 1字母en 4 mark "the" 1 1 1字母en 3 det "temperature" 1 1 1字母en 4 nsubj "reach "1 1 1字母en 9 advcl "100" 1 1 1数字en 6 nummod "degrees" 1 1 1字母en 4 obj ","1 1 1标点符号4标点符号"然后" 1 1 1字母en 9 advmod "disable" 1 1 1字母en 0根" " 1 1 1字母en 12 det "加热" 1 1 1字母en 12复合"元素" 1 1 1字母en 9 obj "1 1 1标点,9个标点

可视化语法依赖关系

在句子图表中可视化语法依赖关系。

图sentenceChart(文档)

从语法依赖树中提取信息

你可以使用树状结构从句子中提取信息。

句子的形式是"如果<条件>,则<动作>。".

找出句子的词根。在这种情况下,根是动作中的动词“disable”。

idxRoot = find(tdetails. txt)依赖= =“根”);tokenRoot = tdetails.Token(idxRoot)
tokenRoot = "disable"

为了分析句子的条件,找到句子的状语从句。在这种情况下,状语从句的词根是动词“reach”。

idxRoot = find(tdetails. txt)依赖= =“根”);idxAdvcl = (tdetails。头== idxRoot) & (tdetails.Dependency ==“advcl”);tokenAdvcl = tdetails.Token(idxAdvcl)
tokenAdvcl = "到达"

解析"形式的子句到达,找出“到达”这个词的主语和宾语。

找到单词“reach”的标称主语。在这种情况下,标称主语是单词“temperature”。

idxToken = find(tdetails. txt)令牌= =“到达”);idxNsubj = (tdetails。头== idxToken) & (tdetails.Dependency ==“nsubj”);tokenNsubj = tdetails.Token(idxNsubj)
tokenNsubj = "温度"

找出动词“reach”的宾语。在这种情况下,对象是单词“degrees”。

idxToken = find(tdetails. txt)令牌= =“到达”);idxConditionObject = (tdetails. txt)Head == idxToken) & (tdetails. token)依赖= =“obj”);tokenConditionObject = tdetails.Token(idxConditionObject)
tokenConditionObject = "度"

解析"形式的子句<数>度,找到单词“degrees”的数字修饰语。在本例中,数值修饰符是“100”。

idxToken = find(tdetails. txt)令牌= =“度”);idxNummod = (tdetails. txt)头== idxToken) & (tdetails.Dependency ==“nummod”);tokenNummod = tdetails.Token(idxNummod)
tokenNummod = "100"

要解析句子的动作,找到动词disable的宾语。在本例中,对象是单词“element”。

idxToken = find(tdetails. txt)令牌= =“禁用”);idxActionObject = (tdetails。头== idxToken) & (tdetails.Dependency ==“obj”);tokenActionObject = tdetails.Token(idxActionObject)
tokenActionObject = "element"

要解析“ element”形式的子句,请找到具有复合关系的令牌。在这种情况下,修饰语是单词“heating”。

idxToken = find(tdetails. txt)令牌= =“元素”);idxObject = (tdetails。头== idxToken) & (tdetails.Dependency ==“复合”);tokenCompound = tdetails.Token(idxObject)
tokenCompound = "加热"

另请参阅

||||||

相关的话题

Baidu