查询纠错、查询提示与意图识别
来源:互联网 发布:win7网络连接图标不见 编辑:程序博客网 时间:2024/06/08 17:57
今天我们动手实现了一个查询纠错和查询提示的代码:
1. trie树代码如下:
def build_trietree(root, words, str1): if( not str1 in words ): words.append(str1); index_str1=len(words)-1; p=root; for i in range(0, len(str1)): if( p.has_key(str1[i]) ): p = p[str1[i]]; if( index_str1 not in p["str"]): p["str"].append(index_str1); else: break; for j in range(i,len(str1)): p[str1[j]]={}; p=p[str1[j]]; if( not p.has_key("str") ): p["str"]=[]; p["str"].append(index_str1);def find_trietree(root, str1): p=root; for i in range(0, len(str1)): if( p.has_key(str1[i]) ): p = p[str1[i]]; else: return []; return p["str"];if __name__=="__main__": root={}; words=[]; build_trietree(root,words, "abc"); build_trietree(root,words, "abc"); build_trietree(root,words, "abdhijk") build_trietree(root, words, "abefg") index_array=find_trietree(root,"a"); for index in index_array: print words[index];2. 计算查询纠错编辑距离的代码:
def min1(aint, bint, cint): min_result=aint if( aint < bint ) else bint min_result=min_result if( min_result < cint ) else cint return min_result; def calc_editdistance(a, b): s=[([0] * len(b)) for i in range(len(a))]; for i in range(0,len(a)): for j in range(0, len(b)): if( i == 0 and j == 0): s[i][j]=1; if(a[0] == b[0]): s[i][j]=0; continue; if( j == 0 ): s[i][j]=s[i-1][j]+1; if(b[0]==a[i]): s[i][j]=s[i-1][j]; continue; if( i == 0 ): s[i][j]=s[i][j-1]+1; if(a[0]==b[j]): s[i][j]=s[i][j-1]; continue; dis=1; if( a[i] == b[j]): dis=0; s[i][j]=min1( s[i-1][j-1]+dis, s[i-1][j]+1, s[i][j-1]+1 ); return s[len(a)-1][len(b)-1]; if __name__=="__main__": print calc_editdistance("ac","abc")
3. 如果我们想把查询纠错和suggest服务合并到一起实现呢?这样其实是一个很好玩的想法的。
4. 用户查询意图识别:
垂直领域检索的query大多数为短query,对于短query来说,识别用户的查询意图是十分困难的。如何在准确率和召回率之间权衡呢?我们只有在对分词和新词挖掘的基础上,使用基于规则的匹配和基于机器学习的方法作为辅助的办法来取得更好的意图识别。更进一步我们可以对用户的查询做一些句法的分析。
0 0
- 查询纠错、查询提示与意图识别
- 查询的意图识别
- 搜索引擎的查询意图识别(query理解)
- 搜索引擎的查询意图识别(关联分析)
- gps纠错查询
- 鼻祖:查询意图分类
- 搜索引擎中查询纠错概述
- 意图识别与槽填充
- 网页搜索中查询纠错概述
- 网页搜索中查询纠错概述
- 鼻祖:查询意图分类 (query分类)
- SharePoint 2013 配置 查询拼写纠错(Query Spelling Correction)
- query意图识别
- 搜索意图识别浅析
- hibernate之查询(设置查询提示)
- 基因模糊查询识别系统
- linux识别/查询/结束进程
- 查询优化器内核剖析第三篇:查询的执行与计划的缓存 & Hint提示
- Python + AES 加密
- iOS学习和开发的一些感触
- w3m 使用笔记
- 字符串的倒序
- Day6
- 查询纠错、查询提示与意图识别
- 面向对象思想
- AJ学IOS(01) UI之Hello World与加法计算器
- AJ学IOS(02)UI之按钮操作 点击变换 移动 放大缩小 旋转
- AJ学IOS(03)UI之纯代码实现UI——图片查看器
- AJ学IOS(04)UI之半小时搞定Tom猫
- AJ学IOS(05)UI之360等下载管理器九宫格UI
- AJ学IOS(06)UI之iOS热门游戏_超级猜图
- javascript权威指南学习笔记(二)