第二节课 问答系统结构

第二节课 问答系统结构

  1. 基于搜索的问答系统
输入
分词
预处理
文本表示
计算相似度
排序
过滤
返回结果

需要解决的问题

基于语料库:1. 文本表示 2. 相似度

基于知识图谱:1. 实体抽取 2. 关系抽取

  1. 强化学习

不需要大量的训练数据,注重交互和试错

模型:每移动一步,智能体接收对环境的观测 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+1St=s)=rRrP(rSt=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(GtSt=s)=E(Rt+1+γV(St+1)St=s)=rs+γsSPssV(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+γsSPssV(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+1St=s,At=a)
策略
π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s)=P(A_t=a|S_t=s) π(as)=P(At=aSt=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 pssa=P(St+1=sSt=s,At=a)pss=aAP(At=aSt=s)P(St+1=sSt=s,At=a),pssπ=aAπ(as)pssarsπ=aAπ(as)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(GtSt=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)=aAπ(as)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+γsSpssaaAπ(as)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)=aAπ(as)(rsa+γsSpssaVπ(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 π(as)=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)=aAmax(rsa+γsSpssaV(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)=argaAmax(rsa+γsSpssaaAmaxq(s,a))=argaAmax(rsa+γsSpssaV(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)=aAmax(rsa+γsSpssaVk(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)=argaAmax(rsa+γsSpssaV(s))

  1. 分词

常用库有jieba,SnowNLP,LTP,HanNLP…

基于匹配的方式:(以“我们经常有意见分歧”,max_len=5为例)

  1. 前向最大匹配
我们经常有
我们经常
我们
  1. 后向最大匹配
有意见分歧
意见分歧
分歧

缺点:1. 效率慢(max_len) 2. 歧义 3. 细分可能更好

基于概率统计的方式:

输入
生成所有可能的分割
选择其中最好的

维特比算法:示意图如下

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值