ç™¾åº¦ä¸æ–‡åˆ†è¯ç®—法分æžä¹‹äºŒ
Spelling Checker拼写检查错误æç¤º(ä»¥åŠæ‹¼éŸ³æç¤ºåŠŸèƒ½)   
拼写检查错误æç¤ºæ˜¯æœç´¢å¼•擎都具备的一个功能,也就是说用户æäº¤æŸ¥è¯¢ ç»™æœç´¢å¼•擎,æœç´¢å¼•擎检查看是å¦ç”¨æˆ·è¾“入的拼写有错误,å¯¹äºŽä¸æ–‡ç”¨æˆ·æ¥è¯´ä¸€èˆ¬é€ æˆçš„é”™è¯¯æ˜¯è¾“å…¥æ³•é€ æˆçš„错误.那么我们就æ¥åˆ†æžçœ‹çœ‹ç™¾åº¦æ˜¯ 怎么实现这一功能的.
ã€€ã€€æˆ‘ä»¬åˆ†æžæ‹¼å†™æ£€æŸ¥ç³»ç»Ÿå…³æ³¨ä»¥ä¸‹å‡ 个问题:
  (1)系统如何判æ–用户的输入是有å¯èƒ½å‘生错误的查询呢?
  (2)å¦‚æžœåˆ¤æ–æ˜¯å¯èƒ½é”™è¯¯çš„æŸ¥è¯¢è¾“å…¥,如何æç¤ºæ£ç¡®çš„è¯æ±‡å‘¢?
  
  那么百度是如何åšçš„å‘¢?百度判æ–用户输入是å¦é”™è¯¯çš„ æ ‡å‡†,我觉得应该是查å—å…¸,如果å‘现å—典里é¢ä¸åŒ…å«è¿™ä¸ªè¯æ±‡,那么很有å¯èƒ½æ˜¯ä¸ªé”™è¯¯çš„输入,æ¤æ—¶å¯åŠ¨é”™è¯¯æç¤ºåŠŸèƒ½,这个很好判æ–,å› ä¸ºå¦‚æžœ 是一个æ£å¸¸è¯æ±‡çš„è¯,百度一般ä¸ä¼šæœ‰é”™è¯¯æç¤º,è€Œä½ æ•…æ„输入一个è¯å…¸ä¸å¯èƒ½åŒ…å«çš„æ‰€è°“è¯æ±‡,æ¤æ—¶ç™¾åº¦ä¸€èˆ¬ä¼šæç¤ºä½ æ£ç¡®çš„æ£€ç´¢è¯æ±‡.
   那么百度是怎么æç¤ºæ£ç¡®è¯æ±‡çš„å‘¢?很明显是通过拼音的方å¼,比如我输入查询" 制æ‰",百度æä¾›çš„æç¤ºè¯æ±‡ä¸º: “:åˆ¶è£ è´¨æ 纸æ",éƒ½æ˜¯åŒ éŸ³å—.所以百度必然维æŒç€ä¸€ä¸ªåŒéŸ³è¯è¯å…¸,里é¢ä¿ç•™ç€åŒéŸ³è¯ä¿¡æ¯,比如å¯èƒ½åŒ…å«ç€ä¸‹é¢è¿™æ¡è¯æ¡: “ zhi cai à 制è£,è´¨æ,纸æ",å¦å¤–还有一 ä¸ªæ ‡æ³¨æ‹¼éŸ³ç¨‹åº,现在能够看到的基本æµç¨‹æ˜¯: 用户输入" 制æ‰",查è¯å…¸,å‘çŽ°æ²¡æœ‰è¿™ä¸ªè¯æ±‡,OK,å¯åŠ¨æ ‡æ³¨æ‹¼éŸ³ç¨‹åº,å°†" 制æ‰"æ ‡æ³¨ä¸ºæ‹¼éŸ³"zhi cai",ç„¶åŽæŸ¥æ‰¾åŒéŸ³è¯è¯å…¸,å‘现åŒéŸ³è¯" 制è£,è´¨æ,纸æ",那么æç¤ºç”¨æˆ·å¯èƒ½çš„æ£ç¡®æ‹¼å†™.
  整体æµç¨‹çœ‹èµ·æ¥å¾ˆç®€å•,但是还有一些é—ç•™ çš„å°é—®é¢˜,比如是å¦å°†è¯è¡¨é‡Œé¢æ‰€æœ‰åŒéŸ³è¯éƒ½ä½œä¸ºç”¨æˆ·çš„æç¤ºä¿¡æ¯å‘¢?比如æŸä¸ªæ‹¼éŸ³æœ‰10个åŒéŸ³è¯,是å¦éƒ½è¾“出呢?百度并没有将所有åŒéŸ³è¯éƒ½è¾“ 出而是选择一定ç›é€‰æ ‡å‡†,选择其ä¸å‡ 个输出.æ€Žä¹ˆè¯æ˜Žè¿™ä¸€ç‚¹?我们看看拼音"liu li"çš„åŒéŸ³è¯,紫光输入法æç¤ºåŒéŸ³è¯æ±‡æœ‰" æµä¸½ æµç¦» ç‰ç’ƒ æµåˆ©"4个,æˆ‘ä»¬çœ‹çœ‹ç™¾åº¦è¿”å›žå‡ ä¸ª,输入"æµåމ"作为查询,这里是故æ„输入一个è¯å…¸ä¸åŒ…å«çš„è¯æ±‡,è¿™æ ·ç™¾åº¦çš„æ‹¼å†™æ£€æŸ¥æ‰å¼€å§‹å·¥ä½œ,百度æç¤º: " ç‰ç’ƒåˆ˜ä¸½ 刘莉 ",这说明什么?è¯´æ˜Žä¸æ˜¯æ‰€æœ‰åŒéŸ³è¯éƒ½è¾“出,而是选择输出,é‚£ä¹ˆé€‰æ‹©çš„æ ‡å‡†æ˜¯ä»€ä¹ˆ?我能够猜测到的方法是对于用户查询LOG进行 统计,æå–用户查询次数多的那些åŒéŸ³è¯è¾“出,å¦‚æžœæ˜¯è¿™æ ·çš„è¯,上é¢çš„例å说明用户æœç´¢"ç‰ç’ƒ"次数比其它的都è¦é«˜äº›,次之是" 刘丽",冿¬¡æ˜¯" 刘莉",看æ¥å¤§å®¶éƒ½å–œæ¬¢æŸ¥è¯¢è‡ªå·±æˆ–者认识的人的åå—.
  å¦å¤–一个å°é—®é¢˜:åŒéŸ³è¯è¯å…¸åŒ…å«2å—è¯,3å—è¯,那么是å¦åŒ…å«4å—è¯ä»¥åŠæ›´é•¿çš„è¯ æ¡?是å¦åŒ…å«ä¸€å—è¯? 这里一å—è¯å¥½å›žç”,ä¸ç”¨æµ‹è¯•也能知é“肯定ä¸åŒ…å«,å› ä¸ºä½ è¾“å…¥ä¸€ä¸ªå—,è°çŸ¥é“æ˜¯å¦æ˜¯é”™è¯¯çš„å‘¢?忣åªè¦æ˜¯æ±‰å—就能在è¯è¡¨ é‡Œé¢æ‰¾åˆ°,所以没有判æ–便®.二å—è¯æ˜¯åŒ…å«çš„,ä¸Šé¢æœ‰ä¾‹å,三å—è¯ä¹ŸåŒ…å«,比如查询 "ä¸åŸŽè¯"百度错误æç¤º:"䏿ˆè¯",修改查询为"é‡åŸŽè¯",还 是æç¤º"䏿ˆè¯" ,冿¬¡ä¿®æ”¹æŸ¥è¯¢ "é‡åŸŽè¦",百度ä¾ç„¶æç¤º"䏿ˆè¯". 那么4å—è¯æ±‡å‘¢?
ã€€ã€€ç™¾åº¦è¿˜æ˜¯ä¼šç»™ä½ æç¤ºçš„,䏋颿˜¯ä¸ªä¾‹å:
  输入:é™åŽçƒŸäº‘ æç¤º 京åŽçƒŸäº‘
  输入:é™è¯çƒŸäº‘ æç¤º 京åŽçƒŸäº‘
  输入:é™è¯é˜Žæ™• æç¤º 京åŽçƒŸäº‘
ã€€ã€€é‚£ä¹ˆæ›´é•¿çš„è¯æ±‡æ˜¯å¦æ 示呢?也æç¤º,比如我输入: "è½èŠ±ä¸–ç•Œæœ‰é£Žå†›",è¿™ä¸ªæŸ¥è¯¢æ˜¯ä»€ä¹ˆæ„æ€,估计读过å¤è¯—的都知é“,看看百度的æç¤º"è½èŠ±æ—¶èŠ‚åˆé€¢å›",这说明什么?说 明åŒéŸ³è¯è¯å…¸åŒ…å«ä¸åŒé•¿åº¦çš„åŒéŸ³è¯ä¿¡æ¯,å¦å¤–ä¹Ÿè¯´æ˜Žäº†ç™¾åº¦çš„æ ¸å¿ƒä¸æ–‡å¤„ç†æŠ€æœ¯,也就是那个è¯å…¸,还真挺大的.
  但是,如果用户输入的 查询由两个或者两个以上åå—符串构æˆ,那么百度的错误æç¤ºåŠŸèƒ½å°±ç½¢å·¥äº†,比如输入查询"哀体",百度æç¤º"è‰¾æ æŒ¨è¸¢",但是.输入为 "我 哀体 ",则没有任何错误æç¤º.
  还有一个比较é‡è¦çš„问题:å¦‚æžœæ±‰å—æ˜¯å¤šéŸ³å—那么怎么处ç†?ç™¾åº¦å‘¢æ¯”è¾ƒå·æ‡’,å®ƒæ ¹æœ¬å°±æ²¡æœ‰å¯¹å¤šéŸ³å—åšå¤„ç†.我 们æ¥çœ‹çœ‹ç™¾åº¦çš„ä¸€ä¸ªæ ‡æ³¨æ‹¼éŸ³çš„é”™è¯¯,在看这个错误å‰å…ˆçœ‹çœ‹å¯¹äºŽå¤šéŸ³å—百度是怎么æç¤ºé”™è¯¯çš„,我们输入查询"俱长",百度æç¤º"剧场 局长", “俱长"的拼音有两个:"ju zhang /ju chang" ,å¯è§å¦‚果是多音å—åˆ™å‡ ç§æƒ…况都æç¤º..现在我们æ¥çœ‹çœ‹é”™è¯¯çš„æƒ…况, 我们输入查询"剧常",百度 æç¤º":剧场局长",æç¤ºä¸º"剧场"当然好解释,å› ä¸ºæ˜¯åŒéŸ³å—,但是为什么 "局长"也会被æç¤ºå‘¢?这说明百度的åŒéŸ³å—è¯å…¸æœ‰é”™è¯¯,说明在"ju chang"è¿™ä¸ªè¯æ¡é‡Œé¢åŒ…å«"局长"这个错误的åŒéŸ³è¯.让我们顺藤摸瓜,这个错误åˆè¯´æ˜Žä»€ä¹ˆé—®é¢˜å‘¢?说明百度的åŒéŸ³è¯å…¸æ˜¯è‡ªåŠ¨ç”Ÿæˆçš„,而且没有 äººå·¥æ ¡å¯¹.还说明在自动生æˆåŒéŸ³è¯å…¸çš„过程ä¸,ç™¾åº¦ä¸æ˜¯æ ¹æ®å¯¹ä¸€ç¯‡æ–‡ç« æ ‡æ³¨æ‹¼éŸ³ç„¶åŽåœ¨æŠ½å–è¯æ±‡å’Œå¯¹åº”的拼音信æ¯èŽ·å¾—çš„,而是完全按照æŸä¸ª è¯å…¸çš„è¯æ¡æ¥æ ‡æ³¨éŸ³èŠ‚çš„,所以对于多音å—é€ æˆçš„é”™è¯¯æ— æ³•è¯†åˆ«å‡ºæ¥,å¦‚æžœæ˜¯å¯¹ç¯‡ç« è¿›è¡Œæ‹¼éŸ³æ ‡æ³¨,å¯èƒ½å°±ä¸ä¼šå‡ºçŽ°è¿™ç§å¾ˆå®¹æ˜“å‘çŽ°çš„é”™è¯¯æ ‡æ³¨. 当然还有å¦å¤–一ç§è§£é‡Š,就是"局长"是故æ„被百度æç¤ºå‡ºæ¥å¯èƒ½çš„æ£ç¡®æç¤ºè¯æ±‡,å› ä¸ºè€ƒè™‘åˆ°å—æ–¹äºº"zh"å’Œ "ch"ç‰å‰åŽé¼»éŸ³åˆ†ä¸æ¸…么,那么是这 æ ·çš„ä¹ˆ?æˆ‘ä»¬ç»§ç»æµ‹è¯•åˆ°åº•æ˜¯ä½•ç§æƒ…况.是百度有错误还是这是百度的先进的算法?
ã€€ã€€æˆ‘ä»¬è€ƒè™‘è¯æ±‡"长大 ",æ•…æ„错误输入为"赃大",如果 百度考虑到了å‰åŽé¼»éŸ³çš„问题,那么应该会æç¤º"长大",但是百度æç¤ºæ˜¯"è—大".这说明什么?说明百度并没有考虑å‰åŽé¼»éŸ³é—®é¢˜,æ ¹æœ¬å°±æ˜¯ç³»ç»Ÿé”™ 误. 我们输入查询"悬èµ",æ•…æ„将之错误输入为"悬桑",没有错误æç¤º,è¯´æ˜Žç¡®å®žæ²¡æœ‰è€ƒè™‘è¿™ç§æƒ…况.å‰é¼»éŸ³æ²¡æœ‰è€ƒè™‘,那么åŽé¼»éŸ³è€ƒè™‘了么,我们 输入":ç»å¸¸",æ•…æ„æ”¹ä¸ºåŽé¼»éŸ³ "ç»ç¼ ",百度æç¤ºä¸º"ç»äº§ ç»å¿",还是没有考虑åŽé¼»éŸ³.这基本å¯ä»¥ç¡®å®šæ˜¯ç™¾åº¦ç³»ç»Ÿçš„错误导致.
ã€€ã€€æ ¹æ®ä»¥ 上推导, 我们å¯ä»¥å¾—出如下结论:百度是将分è¯è¯å…¸é‡Œé¢æ¯ä¸ªè¯æ¡åˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºæ ‡æ³¨æˆæ‹¼éŸ³,ç„¶åŽå½¢æˆåŒéŸ³è¯è¯å…¸,所以两个è¯å…¸æ˜¯åŒæ ·å¤§çš„ ,而且这个è¯å…¸ä¹Ÿéšç€åˆ†è¯è¯å…¸çš„å¢žé•¿è€Œåœ¨ä¸æ–增长. è‡³äºŽæ ‡æ³¨è¿‡ç¨‹ä¸å¤šéŸ³å—百度没有考虑,如果是多音å—å°±æ ‡æ³¨æˆå¤šä¸ªå‘音组åˆ,é€šè¿‡è¿™ç§æ–¹å¼ å½¢æˆåŒéŸ³è¯è¯å…¸.è¿™æ ·çš„åŒéŸ³è¯è¯å…¸æ˜¾ç„¶åŒ…å«ç€å¾ˆå¤šé”™è¯¯.
  最åŽä¸€ä¸ªé—®é¢˜:百度对于英文进行拼写检查么?让我们试试看,输入查 询"china",ä¸é”™,æœåˆ°ä¸å°‘结果,ä¸“æ³¨ä¸æ–‡æœç´¢çš„百度还能æœç´¢åˆ°è‹±æ–‡,真是æ„外的惊喜.å˜æ¢ä¸€ä¸‹æŸ¥è¯¢"chine",ä¼šæ›´åŠ æ„外惊喜的给我们æ 示"china"å—?百度æç¤ºçš„æ˜¯: åƒå‘¢æŒå‘¢,åŽŸæ¥æ˜¯ä¸å°å¿ƒè§¦å‘了百度的拼音æœç´¢åŠŸèƒ½äº†.那么拼音æœç´¢å’Œä¸æ–‡æ£€æŸ¥é”™è¯¯æ˜¯å¦é‡‡ç”¨åŒä¸€å¥—åŒéŸ³è¯è¯å…¸ å‘¢,让我们æ¥å®žéªŒä¸€ä¸‹,æœç´¢"rongji",百度æç¤º" 榕基 溶剂 容积",OK,æ¢ä¸ªä¸æ–‡æŸ¥è¯¢"容机",百度æç¤º" 榕基 溶剂容积",看æ¥ä½¿ç”¨çš„æ˜¯åŒä¸€å¥— åŒéŸ³è¯è¯å…¸.ä¹Ÿå°±æ˜¯è¯´ç™¾åº¦çš„ä¸æ–‡çº 错和拼音检索使用的机制相åŒ,䏿–‡çº é”™å¤šäº†ä¸€é“æ‹¼éŸ³æ³¨éŸ³çš„过程而已.éš¾é“è¿™å°±æ˜¯ä¼ è¯´ä¸é‚£ä¸ªç™¾åº¦çš„"事实 ä¸Šæ˜¯ä¸€ä¸ªæ— æ¯”å¼ºå¤§çš„æ‹¼éŸ³è¾“å…¥æ³•"的拼音æç¤ºåŠŸèƒ½ä¹ˆ?
  最åŽè®©æˆ‘们总结归纳一下百度的拼写检查系统:
  åŽå°ä½œä¸š: (1)å‰é¢çš„æ–‡ ç« æˆ‘ä»¬è¯´è¿‡,百度分è¯ä½¿ç”¨çš„è¯å…¸è‡³å°‘包å«ä¸¤ä¸ªè¯å…¸ä¸€ä¸ªæ˜¯æ™®é€šè¯å…¸,å¦å¤–一个是专用è¯å…¸(专åç‰),ç™¾åº¦åˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºä¾æ¬¡æ‰«ææ‰€æœ‰è¯å…¸ä¸ çš„æ¯ä¸ªè¯æ¡,ç„¶åŽæ ‡æ³¨æ‹¼éŸ³,如果是多音å—åˆ™æŠŠå¤šä¸ªéŸ³éƒ½æ ‡ä¸Š,比如"长大",ä¼šè¢«æ ‡æ³¨ä¸º"zhang da/chang da"ä¸¤ä¸ªè¯æ¡.
  (2)é€šè¿‡æ ‡æ³¨å®Œçš„ è¯æ¡,建立åŒéŸ³è¯è¯å…¸,比如上é¢çš„"长大",ä¼šæœ‰ä¸¤ä¸ªè¯æ¡: zhang daà 长大" , chang daà 长大.
  (3)利用用户查询LOG频率信æ¯ç»™äºˆæ¯ä¸ª 䏿–‡è¯æ¡ä¸€ä¸ªæƒé‡;
  (4)OK,åŒéŸ³è¯è¯å…¸å»ºç«‹å®Œæˆäº†,当然éšç€åˆ†è¯è¯å…¸çš„逿¥æ‰©å¤§,åŒéŸ³è¯è¯å…¸ä¹Ÿè·Ÿç€åŒæ¥æ‰©å¤§;
  
  拼写 检查:
  (1)用户输入查询,如果是多个åå—符串,ä¸ä½œæ‹¼å†™æ£€æŸ¥;
  (2)对于用户查询,先查分è¯è¯å…¸,如果å‘现有这个å•è¯è¯æ¡,OK, ä¸ä½œæ‹¼å†™æ£€æŸ¥;
  (3)如果å‘现è¯å…¸é‡Œé¢ä¸åŒ…å«ç”¨æˆ·æŸ¥è¯¢,å¯åŠ¨æ‹¼å†™æ£€æŸ¥ç³»ç»Ÿ;é¦–å…ˆåˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºå¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œæ‹¼éŸ³æ ‡æ³¨;
   (4)å¯¹äºŽæ ‡æ³¨å¥½çš„æ‹¼éŸ³åœ¨åŒéŸ³è¯è¯å…¸é‡Œé¢æ‰«æ,如果没有å‘现则ä¸ä½œä»»ä½•æç¤º;
  (5)如果å‘çŽ°æœ‰è¯æ¡,则按照顺åºè¾“出æƒé‡æ¯”è¾ƒå¤§çš„å‡ ä¸ªæ 示结果;
  
  拼音æç¤º:
  (1)对于用户输入的拼音在åŒéŸ³è¯è¯å…¸é‡Œé¢æ‰«æ,如果没有å‘现则ä¸ä½œä»»ä½•æç¤º;
  (2)如果 å‘çŽ°æœ‰è¯æ¡,则按照顺åºè¾“出æƒé‡æ¯”è¾ƒå¤§çš„å‡ ä¸ªæç¤ºç»“æžœ;
最后编辑: 郝聪 编辑于2008/02/19 15:57
拼写检查错误æç¤ºæ˜¯æœç´¢å¼•擎都具备的一个功能,也就是说用户æäº¤æŸ¥è¯¢ ç»™æœç´¢å¼•擎,æœç´¢å¼•擎检查看是å¦ç”¨æˆ·è¾“入的拼写有错误,å¯¹äºŽä¸æ–‡ç”¨æˆ·æ¥è¯´ä¸€èˆ¬é€ æˆçš„é”™è¯¯æ˜¯è¾“å…¥æ³•é€ æˆçš„错误.那么我们就æ¥åˆ†æžçœ‹çœ‹ç™¾åº¦æ˜¯ 怎么实现这一功能的.
ã€€ã€€æˆ‘ä»¬åˆ†æžæ‹¼å†™æ£€æŸ¥ç³»ç»Ÿå…³æ³¨ä»¥ä¸‹å‡ 个问题:
  (1)系统如何判æ–用户的输入是有å¯èƒ½å‘生错误的查询呢?
  (2)å¦‚æžœåˆ¤æ–æ˜¯å¯èƒ½é”™è¯¯çš„æŸ¥è¯¢è¾“å…¥,如何æç¤ºæ£ç¡®çš„è¯æ±‡å‘¢?
  
  那么百度是如何åšçš„å‘¢?百度判æ–用户输入是å¦é”™è¯¯çš„ æ ‡å‡†,我觉得应该是查å—å…¸,如果å‘现å—典里é¢ä¸åŒ…å«è¿™ä¸ªè¯æ±‡,那么很有å¯èƒ½æ˜¯ä¸ªé”™è¯¯çš„输入,æ¤æ—¶å¯åŠ¨é”™è¯¯æç¤ºåŠŸèƒ½,这个很好判æ–,å› ä¸ºå¦‚æžœ 是一个æ£å¸¸è¯æ±‡çš„è¯,百度一般ä¸ä¼šæœ‰é”™è¯¯æç¤º,è€Œä½ æ•…æ„输入一个è¯å…¸ä¸å¯èƒ½åŒ…å«çš„æ‰€è°“è¯æ±‡,æ¤æ—¶ç™¾åº¦ä¸€èˆ¬ä¼šæç¤ºä½ æ£ç¡®çš„æ£€ç´¢è¯æ±‡.
   那么百度是怎么æç¤ºæ£ç¡®è¯æ±‡çš„å‘¢?很明显是通过拼音的方å¼,比如我输入查询" 制æ‰",百度æä¾›çš„æç¤ºè¯æ±‡ä¸º: “:åˆ¶è£ è´¨æ 纸æ",éƒ½æ˜¯åŒ éŸ³å—.所以百度必然维æŒç€ä¸€ä¸ªåŒéŸ³è¯è¯å…¸,里é¢ä¿ç•™ç€åŒéŸ³è¯ä¿¡æ¯,比如å¯èƒ½åŒ…å«ç€ä¸‹é¢è¿™æ¡è¯æ¡: “ zhi cai à 制è£,è´¨æ,纸æ",å¦å¤–还有一 ä¸ªæ ‡æ³¨æ‹¼éŸ³ç¨‹åº,现在能够看到的基本æµç¨‹æ˜¯: 用户输入" 制æ‰",查è¯å…¸,å‘çŽ°æ²¡æœ‰è¿™ä¸ªè¯æ±‡,OK,å¯åŠ¨æ ‡æ³¨æ‹¼éŸ³ç¨‹åº,å°†" 制æ‰"æ ‡æ³¨ä¸ºæ‹¼éŸ³"zhi cai",ç„¶åŽæŸ¥æ‰¾åŒéŸ³è¯è¯å…¸,å‘现åŒéŸ³è¯" 制è£,è´¨æ,纸æ",那么æç¤ºç”¨æˆ·å¯èƒ½çš„æ£ç¡®æ‹¼å†™.
  整体æµç¨‹çœ‹èµ·æ¥å¾ˆç®€å•,但是还有一些é—ç•™ çš„å°é—®é¢˜,比如是å¦å°†è¯è¡¨é‡Œé¢æ‰€æœ‰åŒéŸ³è¯éƒ½ä½œä¸ºç”¨æˆ·çš„æç¤ºä¿¡æ¯å‘¢?比如æŸä¸ªæ‹¼éŸ³æœ‰10个åŒéŸ³è¯,是å¦éƒ½è¾“出呢?百度并没有将所有åŒéŸ³è¯éƒ½è¾“ 出而是选择一定ç›é€‰æ ‡å‡†,选择其ä¸å‡ 个输出.æ€Žä¹ˆè¯æ˜Žè¿™ä¸€ç‚¹?我们看看拼音"liu li"çš„åŒéŸ³è¯,紫光输入法æç¤ºåŒéŸ³è¯æ±‡æœ‰" æµä¸½ æµç¦» ç‰ç’ƒ æµåˆ©"4个,æˆ‘ä»¬çœ‹çœ‹ç™¾åº¦è¿”å›žå‡ ä¸ª,输入"æµåމ"作为查询,这里是故æ„输入一个è¯å…¸ä¸åŒ…å«çš„è¯æ±‡,è¿™æ ·ç™¾åº¦çš„æ‹¼å†™æ£€æŸ¥æ‰å¼€å§‹å·¥ä½œ,百度æç¤º: " ç‰ç’ƒåˆ˜ä¸½ 刘莉 ",这说明什么?è¯´æ˜Žä¸æ˜¯æ‰€æœ‰åŒéŸ³è¯éƒ½è¾“出,而是选择输出,é‚£ä¹ˆé€‰æ‹©çš„æ ‡å‡†æ˜¯ä»€ä¹ˆ?我能够猜测到的方法是对于用户查询LOG进行 统计,æå–用户查询次数多的那些åŒéŸ³è¯è¾“出,å¦‚æžœæ˜¯è¿™æ ·çš„è¯,上é¢çš„例å说明用户æœç´¢"ç‰ç’ƒ"次数比其它的都è¦é«˜äº›,次之是" 刘丽",冿¬¡æ˜¯" 刘莉",看æ¥å¤§å®¶éƒ½å–œæ¬¢æŸ¥è¯¢è‡ªå·±æˆ–者认识的人的åå—.
  å¦å¤–一个å°é—®é¢˜:åŒéŸ³è¯è¯å…¸åŒ…å«2å—è¯,3å—è¯,那么是å¦åŒ…å«4å—è¯ä»¥åŠæ›´é•¿çš„è¯ æ¡?是å¦åŒ…å«ä¸€å—è¯? 这里一å—è¯å¥½å›žç”,ä¸ç”¨æµ‹è¯•也能知é“肯定ä¸åŒ…å«,å› ä¸ºä½ è¾“å…¥ä¸€ä¸ªå—,è°çŸ¥é“æ˜¯å¦æ˜¯é”™è¯¯çš„å‘¢?忣åªè¦æ˜¯æ±‰å—就能在è¯è¡¨ é‡Œé¢æ‰¾åˆ°,所以没有判æ–便®.二å—è¯æ˜¯åŒ…å«çš„,ä¸Šé¢æœ‰ä¾‹å,三å—è¯ä¹ŸåŒ…å«,比如查询 "ä¸åŸŽè¯"百度错误æç¤º:"䏿ˆè¯",修改查询为"é‡åŸŽè¯",还 是æç¤º"䏿ˆè¯" ,冿¬¡ä¿®æ”¹æŸ¥è¯¢ "é‡åŸŽè¦",百度ä¾ç„¶æç¤º"䏿ˆè¯". 那么4å—è¯æ±‡å‘¢?
ã€€ã€€ç™¾åº¦è¿˜æ˜¯ä¼šç»™ä½ æç¤ºçš„,䏋颿˜¯ä¸ªä¾‹å:
  输入:é™åŽçƒŸäº‘ æç¤º 京åŽçƒŸäº‘
  输入:é™è¯çƒŸäº‘ æç¤º 京åŽçƒŸäº‘
  输入:é™è¯é˜Žæ™• æç¤º 京åŽçƒŸäº‘
ã€€ã€€é‚£ä¹ˆæ›´é•¿çš„è¯æ±‡æ˜¯å¦æ 示呢?也æç¤º,比如我输入: "è½èŠ±ä¸–ç•Œæœ‰é£Žå†›",è¿™ä¸ªæŸ¥è¯¢æ˜¯ä»€ä¹ˆæ„æ€,估计读过å¤è¯—的都知é“,看看百度的æç¤º"è½èŠ±æ—¶èŠ‚åˆé€¢å›",这说明什么?说 明åŒéŸ³è¯è¯å…¸åŒ…å«ä¸åŒé•¿åº¦çš„åŒéŸ³è¯ä¿¡æ¯,å¦å¤–ä¹Ÿè¯´æ˜Žäº†ç™¾åº¦çš„æ ¸å¿ƒä¸æ–‡å¤„ç†æŠ€æœ¯,也就是那个è¯å…¸,还真挺大的.
  但是,如果用户输入的 查询由两个或者两个以上åå—符串构æˆ,那么百度的错误æç¤ºåŠŸèƒ½å°±ç½¢å·¥äº†,比如输入查询"哀体",百度æç¤º"è‰¾æ æŒ¨è¸¢",但是.输入为 "我 哀体 ",则没有任何错误æç¤º.
  还有一个比较é‡è¦çš„问题:å¦‚æžœæ±‰å—æ˜¯å¤šéŸ³å—那么怎么处ç†?ç™¾åº¦å‘¢æ¯”è¾ƒå·æ‡’,å®ƒæ ¹æœ¬å°±æ²¡æœ‰å¯¹å¤šéŸ³å—åšå¤„ç†.我 们æ¥çœ‹çœ‹ç™¾åº¦çš„ä¸€ä¸ªæ ‡æ³¨æ‹¼éŸ³çš„é”™è¯¯,在看这个错误å‰å…ˆçœ‹çœ‹å¯¹äºŽå¤šéŸ³å—百度是怎么æç¤ºé”™è¯¯çš„,我们输入查询"俱长",百度æç¤º"剧场 局长", “俱长"的拼音有两个:"ju zhang /ju chang" ,å¯è§å¦‚果是多音å—åˆ™å‡ ç§æƒ…况都æç¤º..现在我们æ¥çœ‹çœ‹é”™è¯¯çš„æƒ…况, 我们输入查询"剧常",百度 æç¤º":剧场局长",æç¤ºä¸º"剧场"当然好解释,å› ä¸ºæ˜¯åŒéŸ³å—,但是为什么 "局长"也会被æç¤ºå‘¢?这说明百度的åŒéŸ³å—è¯å…¸æœ‰é”™è¯¯,说明在"ju chang"è¿™ä¸ªè¯æ¡é‡Œé¢åŒ…å«"局长"这个错误的åŒéŸ³è¯.让我们顺藤摸瓜,这个错误åˆè¯´æ˜Žä»€ä¹ˆé—®é¢˜å‘¢?说明百度的åŒéŸ³è¯å…¸æ˜¯è‡ªåŠ¨ç”Ÿæˆçš„,而且没有 äººå·¥æ ¡å¯¹.还说明在自动生æˆåŒéŸ³è¯å…¸çš„过程ä¸,ç™¾åº¦ä¸æ˜¯æ ¹æ®å¯¹ä¸€ç¯‡æ–‡ç« æ ‡æ³¨æ‹¼éŸ³ç„¶åŽåœ¨æŠ½å–è¯æ±‡å’Œå¯¹åº”的拼音信æ¯èŽ·å¾—çš„,而是完全按照æŸä¸ª è¯å…¸çš„è¯æ¡æ¥æ ‡æ³¨éŸ³èŠ‚çš„,所以对于多音å—é€ æˆçš„é”™è¯¯æ— æ³•è¯†åˆ«å‡ºæ¥,å¦‚æžœæ˜¯å¯¹ç¯‡ç« è¿›è¡Œæ‹¼éŸ³æ ‡æ³¨,å¯èƒ½å°±ä¸ä¼šå‡ºçŽ°è¿™ç§å¾ˆå®¹æ˜“å‘çŽ°çš„é”™è¯¯æ ‡æ³¨. 当然还有å¦å¤–一ç§è§£é‡Š,就是"局长"是故æ„被百度æç¤ºå‡ºæ¥å¯èƒ½çš„æ£ç¡®æç¤ºè¯æ±‡,å› ä¸ºè€ƒè™‘åˆ°å—æ–¹äºº"zh"å’Œ "ch"ç‰å‰åŽé¼»éŸ³åˆ†ä¸æ¸…么,那么是这 æ ·çš„ä¹ˆ?æˆ‘ä»¬ç»§ç»æµ‹è¯•åˆ°åº•æ˜¯ä½•ç§æƒ…况.是百度有错误还是这是百度的先进的算法?
ã€€ã€€æˆ‘ä»¬è€ƒè™‘è¯æ±‡"长大 ",æ•…æ„错误输入为"赃大",如果 百度考虑到了å‰åŽé¼»éŸ³çš„问题,那么应该会æç¤º"长大",但是百度æç¤ºæ˜¯"è—大".这说明什么?说明百度并没有考虑å‰åŽé¼»éŸ³é—®é¢˜,æ ¹æœ¬å°±æ˜¯ç³»ç»Ÿé”™ 误. 我们输入查询"悬èµ",æ•…æ„将之错误输入为"悬桑",没有错误æç¤º,è¯´æ˜Žç¡®å®žæ²¡æœ‰è€ƒè™‘è¿™ç§æƒ…况.å‰é¼»éŸ³æ²¡æœ‰è€ƒè™‘,那么åŽé¼»éŸ³è€ƒè™‘了么,我们 输入":ç»å¸¸",æ•…æ„æ”¹ä¸ºåŽé¼»éŸ³ "ç»ç¼ ",百度æç¤ºä¸º"ç»äº§ ç»å¿",还是没有考虑åŽé¼»éŸ³.这基本å¯ä»¥ç¡®å®šæ˜¯ç™¾åº¦ç³»ç»Ÿçš„错误导致.
ã€€ã€€æ ¹æ®ä»¥ 上推导, 我们å¯ä»¥å¾—出如下结论:百度是将分è¯è¯å…¸é‡Œé¢æ¯ä¸ªè¯æ¡åˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºæ ‡æ³¨æˆæ‹¼éŸ³,ç„¶åŽå½¢æˆåŒéŸ³è¯è¯å…¸,所以两个è¯å…¸æ˜¯åŒæ ·å¤§çš„ ,而且这个è¯å…¸ä¹Ÿéšç€åˆ†è¯è¯å…¸çš„å¢žé•¿è€Œåœ¨ä¸æ–增长. è‡³äºŽæ ‡æ³¨è¿‡ç¨‹ä¸å¤šéŸ³å—百度没有考虑,如果是多音å—å°±æ ‡æ³¨æˆå¤šä¸ªå‘音组åˆ,é€šè¿‡è¿™ç§æ–¹å¼ å½¢æˆåŒéŸ³è¯è¯å…¸.è¿™æ ·çš„åŒéŸ³è¯è¯å…¸æ˜¾ç„¶åŒ…å«ç€å¾ˆå¤šé”™è¯¯.
  最åŽä¸€ä¸ªé—®é¢˜:百度对于英文进行拼写检查么?让我们试试看,输入查 询"china",ä¸é”™,æœåˆ°ä¸å°‘结果,ä¸“æ³¨ä¸æ–‡æœç´¢çš„百度还能æœç´¢åˆ°è‹±æ–‡,真是æ„外的惊喜.å˜æ¢ä¸€ä¸‹æŸ¥è¯¢"chine",ä¼šæ›´åŠ æ„外惊喜的给我们æ 示"china"å—?百度æç¤ºçš„æ˜¯: åƒå‘¢æŒå‘¢,åŽŸæ¥æ˜¯ä¸å°å¿ƒè§¦å‘了百度的拼音æœç´¢åŠŸèƒ½äº†.那么拼音æœç´¢å’Œä¸æ–‡æ£€æŸ¥é”™è¯¯æ˜¯å¦é‡‡ç”¨åŒä¸€å¥—åŒéŸ³è¯è¯å…¸ å‘¢,让我们æ¥å®žéªŒä¸€ä¸‹,æœç´¢"rongji",百度æç¤º" 榕基 溶剂 容积",OK,æ¢ä¸ªä¸æ–‡æŸ¥è¯¢"容机",百度æç¤º" 榕基 溶剂容积",看æ¥ä½¿ç”¨çš„æ˜¯åŒä¸€å¥— åŒéŸ³è¯è¯å…¸.ä¹Ÿå°±æ˜¯è¯´ç™¾åº¦çš„ä¸æ–‡çº 错和拼音检索使用的机制相åŒ,䏿–‡çº é”™å¤šäº†ä¸€é“æ‹¼éŸ³æ³¨éŸ³çš„过程而已.éš¾é“è¿™å°±æ˜¯ä¼ è¯´ä¸é‚£ä¸ªç™¾åº¦çš„"事实 ä¸Šæ˜¯ä¸€ä¸ªæ— æ¯”å¼ºå¤§çš„æ‹¼éŸ³è¾“å…¥æ³•"的拼音æç¤ºåŠŸèƒ½ä¹ˆ?
  最åŽè®©æˆ‘们总结归纳一下百度的拼写检查系统:
  åŽå°ä½œä¸š: (1)å‰é¢çš„æ–‡ ç« æˆ‘ä»¬è¯´è¿‡,百度分è¯ä½¿ç”¨çš„è¯å…¸è‡³å°‘包å«ä¸¤ä¸ªè¯å…¸ä¸€ä¸ªæ˜¯æ™®é€šè¯å…¸,å¦å¤–一个是专用è¯å…¸(专åç‰),ç™¾åº¦åˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºä¾æ¬¡æ‰«ææ‰€æœ‰è¯å…¸ä¸ çš„æ¯ä¸ªè¯æ¡,ç„¶åŽæ ‡æ³¨æ‹¼éŸ³,如果是多音å—åˆ™æŠŠå¤šä¸ªéŸ³éƒ½æ ‡ä¸Š,比如"长大",ä¼šè¢«æ ‡æ³¨ä¸º"zhang da/chang da"ä¸¤ä¸ªè¯æ¡.
  (2)é€šè¿‡æ ‡æ³¨å®Œçš„ è¯æ¡,建立åŒéŸ³è¯è¯å…¸,比如上é¢çš„"长大",ä¼šæœ‰ä¸¤ä¸ªè¯æ¡: zhang daà 长大" , chang daà 长大.
  (3)利用用户查询LOG频率信æ¯ç»™äºˆæ¯ä¸ª 䏿–‡è¯æ¡ä¸€ä¸ªæƒé‡;
  (4)OK,åŒéŸ³è¯è¯å…¸å»ºç«‹å®Œæˆäº†,当然éšç€åˆ†è¯è¯å…¸çš„逿¥æ‰©å¤§,åŒéŸ³è¯è¯å…¸ä¹Ÿè·Ÿç€åŒæ¥æ‰©å¤§;
  
  拼写 检查:
  (1)用户输入查询,如果是多个åå—符串,ä¸ä½œæ‹¼å†™æ£€æŸ¥;
  (2)对于用户查询,先查分è¯è¯å…¸,如果å‘现有这个å•è¯è¯æ¡,OK, ä¸ä½œæ‹¼å†™æ£€æŸ¥;
  (3)如果å‘现è¯å…¸é‡Œé¢ä¸åŒ…å«ç”¨æˆ·æŸ¥è¯¢,å¯åŠ¨æ‹¼å†™æ£€æŸ¥ç³»ç»Ÿ;é¦–å…ˆåˆ©ç”¨æ‹¼éŸ³æ ‡æ³¨ç¨‹åºå¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œæ‹¼éŸ³æ ‡æ³¨;
   (4)å¯¹äºŽæ ‡æ³¨å¥½çš„æ‹¼éŸ³åœ¨åŒéŸ³è¯è¯å…¸é‡Œé¢æ‰«æ,如果没有å‘现则ä¸ä½œä»»ä½•æç¤º;
  (5)如果å‘çŽ°æœ‰è¯æ¡,则按照顺åºè¾“出æƒé‡æ¯”è¾ƒå¤§çš„å‡ ä¸ªæ 示结果;
  
  拼音æç¤º:
  (1)对于用户输入的拼音在åŒéŸ³è¯è¯å…¸é‡Œé¢æ‰«æ,如果没有å‘现则ä¸ä½œä»»ä½•æç¤º;
  (2)如果 å‘çŽ°æœ‰è¯æ¡,则按照顺åºè¾“出æƒé‡æ¯”è¾ƒå¤§çš„å‡ ä¸ªæç¤ºç»“æžœ;
相关日志
Dedecms编辑器CKeditoræ›´æ¢ä¸ºç™¾åº¦UEditor的方法
从12月百度算法å˜åŒ–预测2011å¹´SEOæ–¹å‘
百度上线图片竞价排å å›¾ç‰‡æ˜¾ç¤ºæŽ¨å¹¿å—æ ·(图)
桥页SEO:网站自我æ¯ç工具
Google和百度网页æœç´¢çš„æŸ¥è¯¢å‚数解释
百度欲在ä¸å›½å¤åˆ¶â€œeBay+è°·æŒâ€æ¨¡å¼
百度分è¯ç®—法详解
ç™¾åº¦ä¸æ–‡åˆ†è¯ç®—法分æžä¹‹ä¸‰
ç™¾åº¦ä¸æ–‡åˆ†è¯ç®—法分æžä¹‹ä¸€
Dedecms编辑器CKeditoræ›´æ¢ä¸ºç™¾åº¦UEditor的方法
从12月百度算法å˜åŒ–预测2011å¹´SEOæ–¹å‘
百度上线图片竞价排å å›¾ç‰‡æ˜¾ç¤ºæŽ¨å¹¿å—æ ·(图)
桥页SEO:网站自我æ¯ç工具
Google和百度网页æœç´¢çš„æŸ¥è¯¢å‚数解释
百度欲在ä¸å›½å¤åˆ¶â€œeBay+è°·æŒâ€æ¨¡å¼
百度分è¯ç®—法详解
ç™¾åº¦ä¸æ–‡åˆ†è¯ç®—法分æžä¹‹ä¸‰
ç™¾åº¦ä¸æ–‡åˆ†è¯ç®—法分æžä¹‹ä¸€
最后编辑: 郝聪 编辑于2008/02/19 15:57
http://dev.8jiao.com/index.php/Wb_cws_index