2018.3.20
1.计算机处理自然语言原理
语言有自然语言和形式语言之分。很早之前,人类就开始研究计算机如何处理自然语言的问题。科学家们按照仿生学的思路,认为要让机器学会翻译或者语言识别,就必须像人学语言一样,先让计算机学会自然语言语法。但事实上,自然语言语法真的太多了,就拿中文来说,千变万化没办法穷尽,计算机根本没办法学习。所以这是不可能的。当然,人类的智慧是无穷的。后来发明了用统计学处理自然语言的方法,大大提高了语音识别的识别率和识别规模。这个方法的核心就是计算,基于“马尔科夫”假设(假定一个句子里每一个词出现的概率只和前一个词有关,就好比“涨停”这个词,最有可能出现在“股票”之后。那么,只要给计算机量足够大的机读文本,计算机就能算出来在一个特定词后面出现某个词的概率。这样,只要把一句话里所有的词出现的概率相乘,就是这个句子出现的概率了。概率最大的句子,就是我们需要的正确句子)。
2.新闻分类原理
在新闻分类的工作中,面对海量的新闻信息量,并不全是由人工进行手动分类。对于新闻的分类,计算机能够帮上很大的忙。事实上,计算机并不需要去理解每篇新闻,只要找到同一类新闻的相似点就可以了。这需要用余弦定理来解决。
先把新闻里的文字变成一组可以计算的数字,再设计一个算法,这样就能让计算机通过余弦定理,来算出任意两篇新闻的相似度,从而确定新闻的分类。具体来说,词分为实词和虚词,之乎者也之类的虚词对于新闻的分类是没有什么益处的,就不考虑。而股票 利息等实词,对判断新闻分类很有帮助。我们要用这些实词计算出一则新闻的特征向量。只要给每一则新闻都计算出其独特的特征向量,再根据每一类新闻经常出现的词的特征,就可以判断出任意一条新闻的分类。
3.搜索引擎的基本数学原理
搜索引擎背后的基本数学原理:布尔运算。搜索引擎会把用户查询的语句,转换成布尔运算的算式,看看搜索关键词有没有出现在这个网页,1就代表出现,0就代表没出现。这样一来,所有的网页就会转化成一个个数字。最后只要把显示为1 的网页拿出来,就是你需要的搜索结果了。计算机做布尔运算的速度特别快,可以在很短的时间内搜索出大量网页。
这么一看,是不是特别简单?
至于拿出来的网页,会按照时间、热度等权重进行先后次序的展示。这里各家引擎的算法都不一样,比如百度,有钱就可以出现在第一条。