第二节课 问答系统结构
- 基于搜索的问答系统
需要解决的问题
基于语料库:1. 文本表示 2. 相似度
基于知识图谱:1. 实体抽取 2. 关系抽取
- 强化学习
不需要大量的训练数据,注重交互和试错
模型:每移动一步,智能体接收对环境的观测 S t S_t St,接收所获得的回报 R t R_t Rt,执行应采取的行动 A t A_t At,环境接收智能体的行动 A t A_t At,发送智能体的观测 S t + 1 S_{t+1} St+1,发送智能体的回报 R t + 1 R_{t+1} Rt+1
预测问题:评价给定的策略
控制问题:找出最优策略(主要的)
马尔科夫回报过程:对状态进行量化,由四元组
(
S
,
P
,
r
,
γ
)
(S,P,r,\gamma)
(S,P,r,γ)描述,
S
S
S为状态空间,
P
P
P为状态转移矩阵,
r
r
r为状态期望回报,
γ
∈
[
0
,
1
]
\gamma\in[0,1]
γ∈[0,1]是折现因子
r
s
=
E
(
R
t
+
1
∣
S
t
=
s
)
=
∑
r
∈
R
r
P
(
r
∣
S
t
=
s
)
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
⋯
r_s=E(R_{t+1}|S_t=s)=\sum_{r\in R}rP(r|S_t=s)\\ G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots
rs=E(Rt+1∣St=s)=r∈R∑rP(r∣St=s)Gt=Rt+1+γRt+2+γ2Rt+3+⋯
状态价值函数
V
(
s
)
=
E
(
G
t
∣
S
t
=
s
)
=
E
(
R
t
+
1
+
γ
V
(
S
t
+
1
)
∣
S
t
=
s
)
=
r
s
+
γ
∑
s
′
∈
S
P
s
s
′
V
(
s
′
)
V(s)=E(G_t|S_t=s)=E(R_{t+1}+\gamma V(S_{t+1})|S_t=s)=r_s+\gamma\sum_{s'\in S}P_{ss'}V(s')
V(s)=E(Gt∣St=s)=E(Rt+1+γV(St+1)∣St=s)=rs+γs′∈S∑Pss′V(s′)
贝尔曼期望方程
V
(
s
)
=
r
s
+
γ
∑
s
′
∈
S
P
s
s
′
V
(
s
′
)
V
=
r
+
γ
P
V
,
V
=
(
I
−
γ
P
)
−
1
r
V(s)=r_s+\gamma\sum_{s'\in S}P_{ss'}V(s')\\ V=r+\gamma PV,V=(I-\gamma P)^{-1}r
V(s)=rs+γs′∈S∑Pss′V(s′)V=r+γPV,V=(I−γP)−1r
小规模问题:直接解方程求解
大规模问题:用迭代方法求解
马尔科夫决策过程:对状态下行动指定回报进行量化,由五元组
(
S
,
A
,
P
,
R
,
γ
)
(S,A,P,R,\gamma)
(S,A,P,R,γ)描述,
S
S
S为状态空间,
A
A
A是行动空间,
P
P
P为状态转移矩阵,
R
R
R为行动期望回报,
γ
∈
[
0
,
1
]
\gamma\in[0,1]
γ∈[0,1]是折现因子(行动分为确定性策略和非确定性策略)
r
s
a
=
E
(
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
)
r_s^a=E(R_{t+1}|S_t=s,A_t=a)
rsa=E(Rt+1∣St=s,At=a)
策略
π
(
a
∣
s
)
=
P
(
A
t
=
a
∣
S
t
=
s
)
\pi(a|s)=P(A_t=a|S_t=s)
π(a∣s)=P(At=a∣St=s)
状态转移矩阵
p
s
s
′
a
=
P
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
p
s
s
′
=
∑
a
∈
A
P
(
A
t
=
a
∣
S
t
=
s
)
P
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
,
p
s
s
′
π
=
∑
a
∈
A
π
(
a
∣
s
)
p
s
s
′
a
r
s
π
=
∑
a
∈
A
π
(
a
∣
s
)
r
s
a
p_{ss'}^a=P(S_{t+1}=s'|S_t=s,A_t=a)\\ p_{ss'}=\sum_{a\in A}P(A_t=a|S_t=s)P(S_{t+1}=s'|S_t=s,A_t=a),p_{ss'}^\pi=\sum_{a\in A}\pi(a|s)p_{ss'}^a\\ r_s^\pi=\sum_{a\in A}\pi(a|s)r_s^a
pss′a=P(St+1=s′∣St=s,At=a)pss′=a∈A∑P(At=a∣St=s)P(St+1=s′∣St=s,At=a),pss′π=a∈A∑π(a∣s)pss′arsπ=a∈A∑π(a∣s)rsa
行动价值函数
q
π
(
s
,
a
)
=
E
(
G
t
∣
S
t
=
s
,
A
t
=
a
)
q_\pi(s,a)=E(G_t|S_t=s,A_t=a)\\
qπ(s,a)=E(Gt∣St=s,At=a)
状态价值函数
v
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
q
π
(
s
,
a
)
v_\pi(s)=\sum_{a\in A}\pi(a|s)q_\pi(s,a)
vπ(s)=a∈A∑π(a∣s)qπ(s,a)
行动价值的贝尔曼期望方程
q
π
(
s
,
a
)
=
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
∑
a
′
∈
A
π
(
a
′
∣
s
′
)
q
π
(
s
′
,
a
′
)
q_\pi(s,a)=r_s^a+\gamma\sum_{s'\in S}p_{ss'}^a\sum_{a'\in A}\pi(a'|s')q_\pi(s',a')
qπ(s,a)=rsa+γs′∈S∑pss′aa′∈A∑π(a′∣s′)qπ(s′,a′)
状态价值的贝尔曼期望方程
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
V
π
(
s
′
)
)
V
π
=
r
π
+
γ
P
π
V
π
,
V
π
=
(
I
−
γ
P
π
)
−
1
r
π
V_\pi(s)=\sum_{a\in A}\pi(a|s)(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^aV_\pi(s'))\\ V_\pi=r_\pi+\gamma P^\pi V_\pi,V_\pi=(I-\gamma P^\pi)^{-1}r^\pi
Vπ(s)=a∈A∑π(a∣s)(rsa+γs′∈S∑pss′aVπ(s′))Vπ=rπ+γPπVπ,Vπ=(I−γPπ)−1rπ
预测问题:计算
V
π
V_\pi
Vπ,小规模问题:直接解方程求解,大规模问题:用迭代方法求解
V
(
k
+
1
)
=
r
π
+
γ
P
π
V
(
K
)
V^{(k+1)}=r^\pi+\gamma P^\pi V^{(K)}
V(k+1)=rπ+γPπV(K)
控制问题:策略的好坏用状态价值来评价: π ≥ π ′ \pi\geq\pi' π≥π′如果 V π ( s ) ≥ V π ′ ( s ) , ∀ s V_\pi(s)\geq V_{\pi'}(s),\forall s Vπ(s)≥Vπ′(s),∀s
最优策略: V π ∗ ( s ) ≥ V π ′ ( s ) , ∀ s , ∀ π ′ V_{\pi^*}(s)\geq V_{\pi'}(s),\forall s,\forall \pi' Vπ∗(s)≥Vπ′(s),∀s,∀π′
最优状态价值: V ∗ ( s ) = V π ∗ ( s ) V_*(s)=V_{\pi^*}(s) V∗(s)=Vπ∗(s)
最优行动价值: q ∗ ( s , a ) = q π ∗ ( s , a ) q_*(s,a)= q_{\pi^*}(s,a) q∗(s,a)=qπ∗(s,a)
贪心策略: π ( a ∣ s ) = 1 i f a = arg max q π ( s , a ) o t h e r w i s e 0 \pi(a|s)=1\quad if \quad a=\arg\max q_\pi(s,a)\quad otherwise\quad 0 π(a∣s)=1ifa=argmaxqπ(s,a)otherwise0
状态价值的贝尔曼最优方程
V
∗
(
s
)
=
max
a
∈
A
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
V
∗
(
s
′
)
)
V_*(s)=\max_{a\in A}(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^aV_*(s'))
V∗(s)=a∈Amax(rsa+γs′∈S∑pss′aV∗(s′))
行动价值的贝尔曼最优方程
q
π
(
s
,
a
)
=
arg
max
a
∈
A
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
max
a
′
∈
A
q
∗
(
s
′
,
a
′
)
)
=
arg
max
a
∈
A
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
V
∗
(
s
′
)
)
q_\pi(s,a)=\arg\max_{a\in A}(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^a\max_{a'\in A}q_*(s',a'))=\arg\max_{a\in A}(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^aV_*(s'))
qπ(s,a)=arga∈Amax(rsa+γs′∈S∑pss′aa′∈Amaxq∗(s′,a′))=arga∈Amax(rsa+γs′∈S∑pss′aV∗(s′))
求解最优策略:
价值迭代
V
k
+
1
(
s
)
=
max
a
∈
A
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
V
k
(
s
′
)
)
V_{k+1}(s)=\max_{a\in A}(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^aV_k(s'))
Vk+1(s)=a∈Amax(rsa+γs′∈S∑pss′aVk(s′))
策略提取
π
∗
(
s
)
=
arg
max
a
∈
A
(
r
s
a
+
γ
∑
s
′
∈
S
p
s
s
′
a
V
∗
(
s
′
)
)
\pi_*(s)=\arg\max_{a\in A}(r_s^a+\gamma\sum_{s'\in S}p_{ss'}^aV_*(s'))
π∗(s)=arga∈Amax(rsa+γs′∈S∑pss′aV∗(s′))
- 分词
常用库有jieba,SnowNLP,LTP,HanNLP…
基于匹配的方式:(以“我们经常有意见分歧”,max_len=5为例)
- 前向最大匹配
- 后向最大匹配
缺点:1. 效率慢(max_len) 2. 歧义 3. 细分可能更好
基于概率统计的方式:
维特比算法:示意图如下