文本检索模式的学习过程与应用



|*—*|模式构造(算法一:产生各种包含问题与答案的模式,
主要是用后缀树进行模式学习)


第一步: 用问题+答案搜索
第二步:处理搜索出来的1000条数据文本
第三步:用正则表达式保留包含了问题和答案的句子
第四步:把包含问题和答案的sentences传给后缀树执行
(找到这些句子中重复最多的最长子串 如:mozart (1957-2001))
第五步:把包含问题和答案的phrases传给后缀树执行
(再从上步结果中找出包含问题和答案的串 如:mozart (1957 )
第六步:用<NAME>代替问题的词,用<ANSWER>代替答案的词


用不同人名重复算法一将会得到各个人的生日集合


|*—*|模式精度确定(算法二:计算模式精度,剔除低精度模式)


第一步: 只用问题搜索(问题选择很重要,用同一问题的不同表达形式,避免受到重复文本的影响而影响到精度)
第二步:同算法一
第三步:用正则表达式只保留包含了问题的句子
第四步:a.用算法一得到的模式测试这些句子,会出现两种情况:
(1)<ANSWER>可能匹配任何字符
(2)<ANSWER>匹配正确答案
如:i) Mozart was born in <ANY_WORD>
ii) Mozart was born in 1756
b.用公式计算每个模式的精度
P = Ca / Co
Ca:表示用该模式匹配的正确的条数
Co:表示用该模式匹配的代替了答案的任何词的条数
第五步:保留匹配数量多的模式(比如大于5的)


|*—*|利用模式表发现答案(答案数据集是来自TREC-10的)
第一步:用问题搜索
第二步:已有的机器判断问题类别以及问题的term
第三步:在已有的答案数据集中搜索
第四步:清理数据(去除标签,空白符等)
第五步:用正则标签替换问题的term
(“<NAME>”, in the case of BIRTHYEAR).)
第六步:通过模式表中的模式选择匹配标签<ANSWER>的词作为答案
如:<NAME> ( <ANSWER> -
<ANSWER> <NAME> was born
...
第七步:按模式精度排序上步搜的答案,去重返回top5答案。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值