《精通Python自然语言处理( Deepti Chopra)》读书笔记(第九章):语篇分析

《精通Python自然语言处理》

Deepti Chopra(印度)
王威 译


第九章 语篇分析:理解才是可信的


9.1语篇分析简介

语篇分析是执行文本或语言分析的过程,其包含了文本解释以及对社交互动的理解。

NLTK中用于提供一阶谓词逻辑实现的模块是nltk.sem.logic。nltk.sem.logic模块包含以下方法:

substitute_bindings(bindings) binding表示变量到表达式的映射,它用一个特定的值替换了表达式中的变量
variables() 该函数包含了所有需要被替换的变量集,此集合由常量以及自由变量组成
replace(variable,expression,replace_bound) 替换变量实例的表达式,replace_bound用于指定是否需要替换绑定的变量
normalize() 重命名自动生成的唯一变量
visit(self,function,combinatory,default) 访问调用函数的子表达式,然后结果被传递到以一个默认值开始的组合子,最终返回组合的结果
free(indvar_only) 返回对象的所有自由变量集。如果将indvar_only设置为true,则返回独立的变量
simplify() 简化表示对象的表达式

NLTK中为语篇表述理论提供了基础的模块是nltk.sem.drt。nltk.sem.drt模块包含以下方法:

get_refs(recursive) 获得当前语篇的指称对象
fol() 将DRS转换为一阶谓词逻辑
fraw() 绘制DRS(Tkinter图表库)
实现DRS:
import nltk
expr_read = nltk.sem.DrtExpression.from string
expr1 = expr_read('([x], [John(x), Went(x)])')
print(expr1)
expr1.draw()
print(expr1.fol())
使用fol()函数获取表达式:
import nltk
expr_read = nltk.sem.DrtExpression.fromstring
expr2 = expr_read('([x,y], [John(x), Went(x),Sam(y),Meet(x,y)])')
print(expr2)
expr2.draw()
print(expr2.fol())
执行两个DRS的级联:
import nltk
expr_read = nltk.sem.DrtExpression.fromstring
expr3 = expr_read('([x], [John(x), eats(x)])+ ([y],[Sam(y),eats(y)])')
print(expr3)
print(expr3.simplify())
expr3.draw()
用于将一个DRS嵌入到另一个当中:
import nltk
expr_read = nltk.sem.DrtExpression.fromstring
expr4 = expr_read('([],[(([x],[student(x)])->([y],[book(y),read(x,y)]))])')
print(expr4.fol())
使用PRO,resolve_anaphore()函数用于执行DRS:
import nltk
expr_read = nltk.sem.Drtexpression.fromstring
expr5 = expr_read(‘([x,y],[ram(x),food(y),eats(x,y)])’)
expr6 = expr_read(‘([u,z],[PRO(u),coffee(z),drinks(u,z)])’)
expr7 = expr5 + expr6
print(expr7.simplify())
print(expr7.simplify().resolve_anaphore())

9.1.1使用中心理论执行语篇分析

中心理论包含以下内容:

  • 语篇参与者的目的或意图与语篇之间的互动。
  • 参与者的注意。
  • 语篇结构。
  • 中心与参与者的关注点以及局部和整体结构如何影响语篇的表达和连贯性有关。

9.1.2指代消解

AR可以定义为如下过程:AR可以解析句中所使用的代词或名词短语,并且基于语境信息来指代特定的实体。AR有三种类型:

代名词(Pronominal) 指代支撑对象
有定名词短语(Definite noun phrase) 指代先行语
量词/序数 如one/first

“”"***笔者的话:整理了《精通Python自然语言处理》的第九章内容:语篇分析。语篇分析主要应用于文本摘要。后续会整理这本书的后面章节。本博客记录了书中的每段代码。希望对阅读这本书的人有所帮助。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
All that exists is what's ahead.
***"""


(第八章):信息检索(https://blog.csdn.net/cjx14060307101/article/details/88595396)
(第七章):情感分析(https://blog.csdn.net/cjx14060307101/article/details/88580981)
(第六章):语义分析(https://blog.csdn.net/cjx14060307101/article/details/88541214)
(第五章):语法分析(https://blog.csdn.net/cjx14060307101/article/details/88378177)
(第四章):词性标注(https://blog.csdn.net/cjx14060307101/article/details/88357016)
(第三章):形态学(https://blog.csdn.net/cjx14060307101/article/details/88316108)
(第二章):统计语言建模(https://blog.csdn.net/cjx14060307101/article/details/88087305)
(第一章):字符串操作(https://blog.csdn.net/cjx14060307101/article/details/87980631)

你可能感兴趣的:(NLP,中文分词,大数据)