快捷导航
查看: 146|回复: 21

搜狗输入法怎么关闭词频(搜狗输入怎么删除高频字)

[复制链接]

1万

主题

0

回帖

1万

积分

论坛元老

积分
11635
发表于 2023-9-9 12:09:05 | 显示全部楼层 |阅读模式
<p>
    在一些特殊行业,如果可以在特定场景下进行智能搜索和联想的改造,那将能提高工作的效率。那么应该怎么搭建对话机器人,重点输入智能联想功能呢?
   </p><p>
   人机交互无非文字、语音、图像。现如今对话机器人越来越普及,各类智能音箱也如雨后春笋般上市,图像识别最多的还是处于手势指令阶段。最超前的猜想是机器人能够和人心有灵犀,识别人的思维想法,能够想我所想,这样人就可以随心所欲了。
  </p><p>
   当然这个实现过程还很长,但是如果能够实现提前预知人的想法那就会更智能一些。
  </p><p>
   看如下药品名称:诺氟沙星、甲氧氯普胺、氢氧化铝、多潘立酮、硫酸沙丁胺醇、喷托维林,字虽然不难写,但是用拼音打字要一个个打。这对于医生来说,每天要打上数百遍,就比较浪费时间了。
  </p><p>
   今年5月9日下午,搜狗输入法正式推出医生版。这款输入法专为广大医务工作者打造,就是为了帮助广大医生群体实现高效输入而生,拥有海量医疗词库,与医疗场景进行精准匹配,很大程度的提高了医生的输入效率。
  </p><p>
   如下图所示:
  </p><p>
   搜狗输入法医生版具有强大的超级联想功能,可以提供多个医疗专用名词,无论是专业医生还是护士、药剂师等医务工作人员,再复杂的专业词汇都能通过搜狗输入法一气呵成。
  </p><p>
   比如:输入“zuoyang”后,候选词汇中就会出现“左氧氟沙星”、“左氧氟沙星注射液”等词,然后一键选择快速输入,节省很多选字时间。
  </p><p>
   同理,在一些特殊行业完全可以在特定场景下进行智能搜索和联想的改造。
  </p><p>
   例如:以下保险产品名称,对于在人机对话型智能保险机器人中出现的频率是比较多的。
  </p><p>
   那么应该怎么搭建对话机器人重点输入智能联想功能呢?
  </p><p>
   其实对话型机器人,就是一个现代型的智能搜索引擎,要想变得更智能,必须建立更好的建模搜索结果的语义相关性和更直接地给用户答案。
  </p><p>
   我们先说语义相关性,就是不论查询词是否包含在相应文档中,只要查询词与文档拥有语义相关性,就能将其找到。就是用户在搜索框里只是输入单个汉字、单词、拼音简写、拼音以及一段文字时系统自动给出用户更加准确的关键词,让用户可以快速的知道自己要搜索的主题。
  </p><p>
   为了让用户更快速的输入自己想要了解的保险产品的相关问题,可以基于solrcloud实现保险产品智能搜索联想模块。可以用一种基于solr前缀匹配,查询关键字智能提示(Suggestion)实现。
  </p><p>
   所以解决以上问题,我们可以用以下解决方案来实现:
  </p><p>
</p><p>
<strong>
    (1)支持前缀匹配原则
   </strong>
</p><p>
   在搜索框中输入“国寿”,搜索框下面会以同方为前缀,展示“国寿祥泰终身寿险”、“国寿鸿宇两全保险(分红型)”、“国寿鸿友B款保障计划”等等搜索词;输入“太平”,会提示“太平福运金生B款年金保险”、“太平福盈一生终身年金保险”、“太平康爱卫士老年防癌疾病保险”等搜索词。
  </p><p>
<strong>
    (2)同时支持汉字、拼音输入
   </strong>
</p><p>
   由于中文的特点,如果搜索自动提示可以支持拼音的话,会给用户带来更大的方便,免得切换输入法。比如:输入“renshou”提示的关键字和输入“人寿”提示的一样,输入“太平”与输入“太平”提示的关键字一样。
  </p><p>
<strong>
    (3)支持大小写输入提示
   </strong>
</p><p>
   比如:输入“e生保”或者“E生保”都能提示出“平安“e生保”2017版”。
  </p><p>
<strong>
    (4)支持拼音缩写输入
   </strong>
</p><p>
   对于较长关键字,为了提高输入效率,有必要提供拼音缩写输入。比如:输入“rs”应该能提示出“人寿”相似的关键字,输入“tp”也一样能提示出“太平”关键字。
  </p><p>
<strong>
    (5)基于用户的历史搜索行为,按照关键字热度进行排序
   </strong>
</p><p>
   为了提供suggest关键字的准确度,最终查询结果,根据用户查询关键字的频率进行排序,如:输入[太平,taiping,tp,] —&gt; [“太平福运金生B款年金保险“(f1)”太平福盈一生终身年金保险“(f2)”太平康爱卫士老年防癌疾病保险”(f3)…],查询频率f1 &gt; f2 &gt; f3。
  </p><p>
</p><p>
<strong>
    (1)关键字收集
   </strong>
</p><p>
   当用户输入一个前缀时,碰到提示的候选词很多的时候,如何取舍,哪些展示在前面,哪些展示在后面?
  </p><p>
   这就是一个搜索热度的问题。用户在使用对话框询问问题时,会输入大量的关键字,每一次输入就是对关键字的一次投票,那么关键字被输入的次数越多,它对应的查询就比较热门,所以需要把查询的关键字记录下来,并且统计出每个关键字的频率,方便提示结果按照频率排序。
  </p><p>
   搜索引擎会通过日志文件,把用户每次检索使用的所有检索串,都记录下来,每个查询串的长度为1-255字节。
  </p><p>
<strong>
    (2)汉字转拼音
   </strong>
</p><p>
   用户输入的关键字可能是汉字、数字、英文、拼音、特殊字符等等,由于需要实现拼音提示,我们需要把汉字转换成拼音,java中考虑使用pinyin4j组件实现转换。
  </p><p>
<strong>
    (3)拼音缩写提取
   </strong>
</p><p>
   考虑到需要支持拼音缩写,汉字转换拼音的过程中,顺便提取出拼音缩写,如:“taiping”—&gt;”tp”。
  </p><p>
<strong>
    (4)技术方案: Trie树 + TopK算法
   </strong>
</p><p>
   Trie树即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。
  </p><p>
   它有3个基本性质:
  </p><p>
<strong>
    它的优点是:
   </strong>
   最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie是一颗存储多个字符串的树,相邻节点间的边代表一个字符,这样树的每条分支代表一则子串,而树的叶节点则代表完整的字符串。和普通树不同的地方是,相同的字符串前缀共享同一条分支。
  </p><p>
   例如:给出一组单词inn,int,at,age,adv,ant,我们可以得到下面的Trie:
  </p><p>
   从上图可知,当用户输入前缀i的时候,搜索框可能会展示以i为前缀的“in”,“inn”,“int”等关键词,再当用户输入前缀a的时候,搜索框里面可能会提示以a为前缀的“ate”等关键词。如此,实现搜索引擎智能提示suggestion的第一个步骤便清晰了,即用trie树存储大量字符串,当前缀固定时,存储相对来说比较热的后缀。
  </p><p>
   TopK算法用于解决统计热词的问题。解决TopK问题主要有两种策略:hashMap统计+排序、堆排序。
  </p><p>
   hashmap统计:先对这批海量数据预处理。
  </p><p>
   具体方法是:维护一个Key为Query字串,Value为该Query出现次数的HashTable,即hash_map(Query,Value),每次读取一个Query,如果该字串不在Table中,那么加入该字串,并且将Value值设为1;如果该字串在Table中,那么将该字串的计数加一即可,最终在O(N)的时间复杂度内用Hash表完成了统计。
  </p><p>
   我们也可以为关键字建立一个索引collection,利用solr前缀查询实现。solr中的copyField能很好解决我们同时索引多个字段(汉字、pinyin、abbre)的需求,且field的multiValued属性设置为true时能解决同一个关键字的多音字组合问题。
  </p><p>
<strong>
    效果如下图所示:
   </strong>
</p><p>
   作者:老张,宜信集团保险事业部智能保险产品负责人,运营军师联盟创始人之一,《运营实战手册》作者之一。
  </p><p>
   本文由 @老张 原创发布于人人都是产品经理。未经许可,禁止转载
  </p><p>
   题图来自 Pixabay,基于 CC0 协议
  </p>

1

主题

3474

回帖

5216

积分

论坛元老

积分
5216
发表于 2023-12-8 16:17:03 | 显示全部楼层
看帖回帖是美德!

1

主题

3398

回帖

5102

积分

论坛元老

积分
5102
发表于 2023-12-25 16:32:49 | 显示全部楼层
难得一见的好帖

1

主题

3500

回帖

5255

积分

论坛元老

积分
5255
发表于 2023-12-25 16:32:52 | 显示全部楼层
好好 学习了 确实不错

1

主题

3468

回帖

5207

积分

论坛元老

积分
5207
发表于 2023-12-25 16:32:54 | 显示全部楼层
有点意思,谢谢楼主的无私分享!!!

1

主题

3534

回帖

5306

积分

论坛元老

积分
5306
发表于 2023-12-25 16:33:52 | 显示全部楼层
我是个凑数的。。。

1

主题

3438

回帖

5162

积分

论坛元老

积分
5162
发表于 2024-1-17 03:34:04 | 显示全部楼层
有竞争才有进步嘛

1

主题

3330

回帖

5000

积分

论坛元老

积分
5000
发表于 2024-1-17 03:34:15 | 显示全部楼层
这真是不错,顶给需要的人

1

主题

3362

回帖

5048

积分

论坛元老

积分
5048
发表于 2024-1-17 03:34:15 | 显示全部楼层
学习了,不错,讲得太有道理了

1

主题

3412

回帖

5123

积分

论坛元老

积分
5123
发表于 2024-1-17 07:03:50 | 显示全部楼层
前排支持下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|聚云老站长 ( 粤ICP备2023011934号-1 )

GMT+8, 2024-9-19 10:21 , Processed in 4.379291 second(s), 24 queries .

快速回复 返回顶部 返回列表