40_3 设计一个系统处理词语搭配,比如中国和人民可以搭配
2014-09-24 14:14
309 查看
/* 3)设计一个系统处理词语搭配问题,比如说中国和人民可以搭配, 则中国人民人民中国都有效。要求: *系统每秒的查询数量可能上千次; *词语的数量级为 10W; *每个词至多可以与 1W 个词搭配 当用户输入中国人民的时候,要求返回与这个搭配词组相关的信息。 这参考别人的,还有个说用二叉树 那个字典树怎么样? 谁指导指导。。 分析: 搜索端使用多线程处理,现在服务器都是多核的,可以充分利用服务的资源。 数据结构: 所有词语建一张大表,并给每个词语分配一个id. 存储结构如下: id1,word1,id2,word2,...,idn,word2 词语的检索使用hash,设计一个好的词语哈希算法,使得检索词语的性能达到O(1) 再建一个词语间搭配关系表, 词语id+词语id list(每个词语id+它对应搭配的词语id集) 检索算法: 查询query --->使用分词,找到所有可能搭配, -》使用哈希检索到对应的词语-》找他们之间可能的搭配关系, 可以搭配的词组返回,不可以搭配的,返回空结果。 可能词组的搭配关系,每个词可能的搭配关系是1000次, 每两个词之间的匹配次数为10000次 */
相关文章推荐
- 35. 百度研发笔试题:设计一个系统处理词语搭配问题
- 实际中碰到的一个异构系统之间数据交换的处理方式设计
- 【嵌入式系统学习记录】习题:输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来。比如:帧头和帧尾分别是head和tail 字符串”asdheadhauboiso
- K8 系统中省市县数据表的设计可以反映出什么? 通过一个基础业务表的设计品味软件系统的整体架构
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- 实际中碰到的一个异构系统之间数据交换的处理方式设计
- Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少
- 设计一个指向函数的一个指针,处理一个一维数组,调用该函数三次可以输出总和,最大值,平均值
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,有兴趣的朋友可以去下载!
- 一个典型的嵌入式系统设计和实现
- 如何在一个系统中设计权限控制机制(3)
- 设计一个图书借阅管理系统需要如何分析
- 在设计时提供一个截面,使得可以编辑大多数集合类型
- G-Share 1.5beta3:一个php脚本的程序,可以把你gmail做为文档共享系统(下载系统)
- 一个Web系统的界面设计和开发.1
- TfxSleep,一个可以在等待超时期间处理Windows消息的函数,防止卡死
- 欧洲:中国在战略层面是一个绝对不可以轻信的国家
- 一个典型的嵌入式系统设计和实现
- 一个用Word做报表设计的报表系统windwardreports
- 使用API实现的一个增加系统桌面,并且可以任意切换的小程序.