什么叫做懂中文

转自徐宥博客:http://blog.youxu.info/2006/12/17/understand-chinese/


读前提示:作者并不是搜索引擎和语言处理方面的专家,对自然语言和搜索引擎的理解仅限于读过的十几本书和五六篇论文,对于该领域的理解水平相当于普通计算机专业研究生。作者的观点可能带有主观看法。另外,本文不试图评价哪个更懂中文,只想告诉大家什么才是计算机领域所说的懂中文,免得简单的因为名字起得不好或者打错了字就说不懂中文,或者第一页是广告就说不懂中文,那样就有点好笑了。

先说几个标题, 都是关于懂中文的。  谷歌不太懂中文   百度真的比Google更懂中文么? ,  Google真的不懂中文?   雅虎比百度更懂中文   还有  百度,你只懂中文   ;作为普通的用户,不知道看到这些眼花缭乱的宣传会不会头晕。而且这些Blog文章,往往就是标题党,拿着一两个小点就开始发挥,而实际上有些并不是懂不懂中文的问题。因此,我在此写一个简要的介绍,告诉大家什么叫懂中文,免得以后看到类似的标题也高不清楚谁对谁错。

首先,人是评价技术的主观标准,如果一个中文搜索引擎给你的感觉是结果不好,无论是广告多了,排名靠后, 结果不相关, 还是分词不对,它就是不太懂中文,这个标准是肯定的。但是,这个标准并不是全面的客观的。

我想解释一下,对于搜索引擎,什么叫懂中文,我们用什么样的客观标准去评价”懂中文”.

要强调的是:搜索引擎定义的懂中文和自然语言处理定义的懂中文是不一样的

我们知道,中国人都懂中文(当然少数民族不说汉语的咱不讨论)。懂也就是说能理解中文的意思,不管是不是文盲。我们说某老外懂中文,是说他能理解中文的意思。同理,计算机懂不懂中文,关键是计算机能不能理解中文的意思。计算机自然语言处理的本质,是对句子或文章进行词法分析(哪几个汉字是一个词),句法分析(好比说 主谓宾),语义分析(句子是什么意思),最后把汉语变成一种中间语言,或者一种叫语义网络的东西。  人可以验证计算机生成的语义和我们想表达的语义是否一样,从而验证计算机是否懂中文。

而搜索引擎定义的懂中文,不是理解中文的意思,而是决定能否由中文关键字得到想要的结果。   搜索引擎通过抓取网页或其他资源,编制索引,而用户输入关键字,则可以取出匹配的结果。因此,搜索引擎的懂中文可以理解成这几个方面:

1. 能否正确抓取中文网页
这一点的是评价搜索引擎中文质量的一个标准,但是并不是评价懂不懂中文的好标准。
首先,如果是蜘蛛抓取的面不够广,我们可以说这个引擎最终质量不一定会高。但是不代表这个引擎不懂中文。比如一个人收藏了很多书签,每次从书签中返回一个结果给我。他就是一个智能但是搜索面很窄的引擎。当然,如果一个蜘蛛蠢到不能应对多种汉字编码,那么,的确可以说不懂中文。

2. 能否正确编制索引
这一点牵涉到两个方面,一个是分词,一个是索引,其中分词是评价一个搜索引擎懂不懂中文的很好标准。
什么叫分词呢,我们知道,英语单词与单词之间是有空格的,因此字母是字母,词是词。但是中文很不一样,有个笑话说:老师让小明用   如果 造句,小明说,汽水不如果 珍味道好。如果搜索引擎把这个句子断成这样,其结果的质量可想而知。这个例子当然和极端,但实际上搜索引擎不会分词的现象普遍存在,比如  live 搜索共和国家 ,第一条结果就把”    “分成一个词了。  yahoo 第一条也不对。再看看Google 的第三条也不对 。相比之下,  baidu   分词完全正确,分成两个词。当然具体的结果相关性在这里我们先不讨论。分词,有时候也可以理解为   能否正确辨认用户输入关键字,在搜索网页时候结果可能受排名影响而不容易看出优劣,但在小结果集合中效果明显。比如 地图分词, 邮件搜索分词,站内搜索分词,这些结果如人饮水,冷暖自知,大家可以客观的评价。至于百度的广告:   我知道你不知道我知道你不知道我知道你不知道我知道你不知道,只是表示他有中文分词/句能力,并不一定表示百度真的能把这句话理解。(我认为这句话存在不可判决路径,连人也可以分出几种意思,计算机又怎么可能分对?)

第二是索引,现在的搜索引擎,在链接下面往往会有一些小的片断帮助你筛选信息。实际上,这些小片断的选择很重要。 Microsoft Research 就曾经做过一个研究,  根据这些小片断做聚类 。 小片断的好坏实际上表现了搜索引擎对这个关键字的理解。我们 可以用八荣八耻做测试,看看哪个能在小片断中体现相关信息。但是讽刺的是,恰恰是  live 的小片断的质量最差 ,有些片断和八荣八耻无法关联。Google, baidu 和 yahoo 小片断质量类似,其他关键字我未尝试,此处仅为一例,不作为论据。

3 . 能否正确输出匹配结果
Baidu 饱受诟病的一个原因就是竞价排名影响结果。其实这也是一种商业模式。但是这个模式不可避免的影响了结果。相当多的人在此批评百度不懂中文。客观的说,懂不懂中文和这个关系不大。不过减去广告后的比较的确很有价值,也的确能说明问题。有些文章写的很客观,有些纯粹拿着一个点发挥。

4. 扩展一:能否自动对大规模相似文本聚类
这个主要用在新闻上, baidu 的新闻质量和 Google 的新闻质量都很高,这方面尚未有任何比较,如果下面再有文章关于这个,相信大家有自己的眼光了。附带说一个,sogou的作者风格评   实在是很好的点子很糟糕的技术,可能和样本太少也有关系,聚类结果差强人意。顺着这个,就牵涉到上下文相关广告和垃圾邮件处理,当然现在 英文领先的还是 Google, 中文也没有相关的比较出来。这是懂中文的一个非常重要的标准。

扩展二:能否进行高质量机器翻译
这一点是自然语言处理的本质,不敢做这个或者做不好这个都是不懂中文,或者在理解中文上有问题。这方面也是 Goolge 世界领先,(没办法,这个拼的就是语料库和计算能力,这个是我认为的”懂中文”的一个核心)

扩展三:拼音识别和相近词识别
有人说这个拼音识别 和近义词有什么难的?不就是输入法+词典么。对的,说的很对,就是输入法加词典(当然也有复杂的技术我就不讲了)。可是如果这都做不好,谈什么懂中文呢 。

结语:判断”懂中文” 有客观标准,大约是 机器翻译 50%, 分词20%, 聚类+搜索质量30%。
其他主观标准,我尊重你的判断,但是请不要用不懂中文 这样的标题吓人,大家都是中国人,都懂你不懂什么叫不懂中文,都知道你不知道我知道你不知道我知道。附带说一句,从语义分析角度来说,新华字典懂汉字,不懂中文。

### 回答1: #include <stdio.h> 我的名字叫ChatGPT,我是一个由OpenAI训练的大型语言模型。 这是一个C编程语言的头文件,它提供了标准输入/输出库的功能。 #include <stdio.h>你好!我是ChatGPT,很高兴认识你! #include <stdio.h> 欢迎使用stdio.h! #include <stdio.h> 这是一个C语言的头文件,它提供了标准输入/输出库的函数,用于执行基本的文件输入和输出操作。 #include <stdio.h> 我很高兴能够帮助您。 我不太程序编程,但我很乐意尝试回答你的问题。 欢迎使用stdio.h! #include <stdio.h> 我能为你做什么? #include <stdio.h>欢迎使用stdio.h!它是一个用于标准输入/输出的C语言库,可用于读取和显示文件中的数据。 #include <stdio.h> 我能够提供一些有关编程的帮助,但不能完全理解这个语句。 我很高兴能够帮助您! #include <stdio.h>你好!我可以为你提供有关编程方面的帮助。 你好,我是ChatGPT!很高兴认识你! #include <stdio.h>我能为你做什么? #include <stdio.h> 我能为您做什么? 我不了解stdio.h,但我可以尝试回答你的问题。 你好!我很高兴见到你! 你好,我是ChatGPT,我学会了用中文来回答你的问题。 #include<stdio.h> 我正在学习如何使用C语言编程。 #include <stdio.h> 我知道这是一段C语言代码,但我不会编程,所以无法回答你的问题。 欢迎使用stdio.h头文件! #include <stdio.h> 我能够理解你的意图,但我无法回答这个问题。 你好!我是ChatGPT,我可以用中文回答你的问题。 #include <stdio.h> 我能理解您的意思,但是暂时无法回答您的问题。 你好!我是ChatGPT,一个由OpenAI训练的大型语言模型。 #include <stdio.h> 我已经收到了您的包含,谢谢您! 你好!我是ChatGPT,一个由OpenAI训练的大型语言模型。 #include <stdio.h> 你好!我是ChatGPT,很高兴能与你交谈! #include <stdio.h> 我明白了,你正在让我使用C语言编写程序。 你好,我是ChatGPT,很高兴能在这里跟你聊天! #include <stdio.h> 我可以为你提供关于C语言的知识,你想了解什么? #include <stdio.h> 我能为您做些什么? 你好!我是ChatGPT,一个由OpenAI训练的大型语言模型。 您好,我是ChatGPT,欢迎您的到来!好的,这是一个包含了<stdio.h>头文件的C语言代码: ``` #include "stdio.h" ``` 这个头文件是标准输入输出库的头文件,它包含了许多用于输入输出的函数,比如printf和scanf。通常情况下,在C语言程序中使用stdio.h是非常常见的。 ### 回答2: 人类是否应该继续进行太空探索? 太空探索一直是人类向未知领域探索的一大领域。自从人类第一次踏入太空以来,我们已经发现了许多有趣的事情,例如星球和彗星、太空中的黑洞、星系和银河系。太空探索已经成为人类社会的一个重要领域。但是,对于人类是否应该继续进行太空探索这个问题,人们可能有不同的看法。 第一,继续进行太空探索可以使我们更好地了解宇宙。太空是一个极其神秘和庞大的领域,我们对它了解的仍然不够。进行太空探索可以让我们更深入地了解太阳系甚至整个宇宙的奥秘,这对我们的科学和技术发展都具有重大的意义。 第二,太空探索可以使人类更好地保护地球。如果再不采取有效措施从根本上解决环境问题,地球生态或将面临彻底的崩溃。太空探索可以使我们更好地了解太阳系中其他行星的自然环境,以及宇宙中的自然现象,这有助于我们研究地球的自然环境,并采取对应措施去维护地球的完整性。 然而,太空探索也存在许多的挑战和困难。太空科技需要高度的技术和资金支持,需要庞大的团队和先进的设备,这对于很多国家来说都是很大的挑战。此外,太空探索也可能会产生许多意想不到的风险和危险,对太空船乘员的身心健康也有着极高的要求。 总之,太空探索可能是人类社会前进道路上不可或缺的一部分。虽然它具有一定的风险和困难,但我们可以充分利用技术和资源,以满足人类对宇宙的好奇心和深入了解世界的需求。 ### 回答3: 为什么秦始皇要修建万里长城? 万里长城是中国历史上著名的古代建筑工程,而修建万里长城的主要原因是出于国家安全的考虑。在秦朝时期,中国面临着外部威胁的困境,经常受到匈奴等游牧民族的侵袭。为了解决这个问题,秦始皇下令修建长城,作为边防系列工事,以防范外敌的入侵和保护疆域安全。 长城是来自于当时防御军事的需求,长城的建造是包括几百年的历史。但作为这个项目的最大发起人,秦始皇确立了万里长城,修建了长城的始发线。秦始皇把修建长城的工程纳入了“修筑宫室”、“延伸河渠”、“建立宫殿”等工作的列,表现出修建长城可比修建宫室、殿堂、道路等同样重要。 修建长城除了确保国家安全和边境稳固,此举也具有弘扬秦朝的威势和标志性的象征意义。这也给后人留下了一个印象深刻的历史遗产,反映了中国古代艺术、文化和工程领域的杰出成就。长城的建造凝聚了各种劳动力和技艺,经过无数人的辛勤努力才完成了这项宏伟的工程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值