该硕士学位论文分为两个部分:
①基于依存句法分析的语义通顺度计算方法
②基于神经网络模型的语义通顺度计算方法
本篇记录摘抄了该论文的核心内容以及实验复现的详细步骤.
在N-gram模型下进行智能批改场景下的语义通顺度计算,第一种评价指标是通过划分语义通顺度等级,然后计算作答中的N元组,得出与标答的相似度,并给整个句子打分。
S
c
o
r
e
=
∑
C
o
u
n
t
(
N
−
g
r
a
m
)
−
c
(
式
3.3
)
Score=\sum Count(N-gram)-c(式3.3)
Score=∑Count(N−gram)−c(式3.3)
其中Count为N元组在标答中出现的次数,
c为作答句子的长度值,得分越高说明该句子在语义上更加通顺。
第二种评价指标是计算通顺度。假设句子W含有n个词语,计算其N-gram概
率,然后对概率值取几何平均数,即为该句子的通顺度。其计算方式如公式3.4所
示。
P
s
m
o
o
c
=
P
g
+
P
main
−
g
+
P
n
+
P
main
−
n
4
(
式
3.4
)
P_{\mathrm{smooc}}=\frac{P_{g}+P_{\operatorname{main}-g}+P_{n}+P_{\operatorname{main}-n}}{4}(式3.4)
Psmooc=4Pg+Pmain−g+Pn+Pmain−n(式3.4)
从上式可以看出P(w)的值与句子的长度n无关,因此判断任意长度句子的通顺度,且通顺度越大,句子越合理。
主流的依存分析方法:
分析方法 | 特点 |
---|---|
状态转移法 | 根据每一步的训练来搜索局部最优解,直到整个句子训练完毕,可以根据中间得到的局部最优解对后续的训练过程进行分析 |
图方法 | 具有全局性,利用最大生成树算法,直接训练得到整个句子的依存关系,但是不会产生局部最优解,无法利用局部最优解对后续过程进行分析 |
这个论文的作者不知道post-Tags是指代词性标注。
所以很多下标都写成了past
下面已经纠正过来。
变量 | 含义 |
---|---|
C p o s C_{pos} Cpos | 语料进行词性标注后的结果 |
C g C_g Cg | |
C g − p o s t C_{g-post} Cg−post | C g C_g Cg词性标注后的结果 |
依存句法分析下的通顺度计算公式如下:
P
c
=
c
o
u
n
t
g
c
o
u
n
t
T
(
式
3.5
)
P_c=\frac{count_g}{count_T}(式3.5)
Pc=countTcountg(式3.5)
C
o
u
n
t
R
Count_R
CountR:语义正确匹配的词语对个数
C
o
u
n
t
T
Count_T
CountT:词语对总数
3.2开始的章节内容如下:
章节 | 标题 |
---|---|
3.2.1 | 依存句法分析与通顺度 |
3.2.2 | 句子主干的依存句法分析 |
3.2.3 | 句子细节的依存句法分析 |
3.2.4 | 语法通顺度计算 |
3.2.5 | 语义通顺度计算 |
3.2.6 | 基于依存句法分析的通顺度计算 |
需要注意:
"句子"和"句子主干"不是一个意思
"语法"和"语义"不是一个意思
下面我们来尝试复现论文中的语义依存图:
通过[1],我们得到
可以看到新版本的LTP与老版本的LTP结果略有区别
2句子主干的依存句法分析
依存句法分析下的通顺度计算,首先对句子的主干作评判,提取句子主干的步骤:
第一步,找出句子中的关键词;
第二步,在与关键词相关的集合中找出有主谓关系
及并列关系的词,这些词与关键词的集合就是整个句子的主语;
第三步,找出与整个句子的主语成定中关系的词,共同构成主语;
第四步,找出与句子主语中的谓语有动宾关系的词,最终按照语法结构连接起来就构成了句子的主干。
P s m o o c = P g + P main − g + P n + P main − n 4 ( 式 3.9 ) P_{\mathrm{smooc}}=\frac{P_{g}+P_{\operatorname{main}-g}+P_{n}+P_{\operatorname{main}-n}}{4}(式3.9) Psmooc=4Pg+Pmain−g+Pn+Pmain−n(式3.9)
参数 | 含义 |
---|---|
P g P_g Pg | 整个句子的语法通顺度 |
P m a i n − g P_{main-g} Pmain−g | 句子主干的语法通顺度 |
P n P_n Pn | 整个句子的语义通顺度 |
P m a i n − n P_{main-n} Pmain−n | 句子主干的语义通顺度 |
Reference:
[1]哈工大-语言技术平台