由于这本书的写作年代已经稍微有些久远了(写于2012年), 因此最初并未对这本书抱有太多期待. 但实际阅读下来发现, 这本书实际上涉及了大量关于自然语言处理的内容, 较为详细地介绍了除神经网络以外的大量自然语言处理技术. 虽然现在的自然语言处理在ChatGPT出现后, 可以说是”开始的终结”(分词, 词向量等自然语言处理的第一阶段问题已经被ChatGPT对应的技术很好的解决), 但了解这些非神经网络的自然语言处理技术, 依然对我有许多启发. 从这本书的阅读过程中, 确实体会到了一种数学之美. 去除一些总所周知的常规内容后, 本文将主要记录在阅读此书的过程中, 发现的一些新的知识, 并对其中的一些内容做一些必要的扩展.

从规则到统计

关于自然语言的处理, 实际上无论是纯粹的语言领域还是计算机领域, 都经历了一个从规则到统计的变化. 起初语言学的专家希望通过对语法结构的分析实现对语言的理解, 但后来在实践中发现, 基于语法规则无法处理语言的多意性. 消除这种歧义需要依赖文本的上下文或者某些领域知识或常识. 语法规则并不能描述这些上下文或者常识.

正如后续的发展一样, 统计学方法被引入到自然语言处理之中. 此时对于一句话是否合法的判断不再是某些语法规则, 而是相应的概率. 即一句合法的句子, 其概率也相应的较大. ChatGPT在表现出如此令人惊叹的特性时, 其底层的基础也不过是对于一句话是否是合法表达的概率计算.

这一思路的转变影响非常深远, 例如在字典的用例收录中, 一句话是否符合原本的语法规则已经不再重要, 只要使用的频率足够高, 那么这就是一句合法的表达.

马尔可夫模型

最简单的马尔可夫模型是马尔可夫链。它用一个随时间变化的随机变量来模拟系统的状态。在这种情况下,马尔可夫性质表明,这个变量的分布只取决于之前状态的分布。当马尔可夫链的状态只能部分观察到,这就是隐马尔可夫模型。

信息指纹与相似哈希

信息指纹类似于文件哈希值, 对于一个给定的信息(例如网页, 视频等)可计算出一个定长的数据. 例如在网络爬虫应用中, 为了判断一个URL是否被爬取过, 需要将URL存储到哈希表中. 此时如果直接存储URL的字符, 则会产生较大的存储消耗. 如果将URL先转换为信息指纹, 然后在存储指纹, 则可大幅度的降低存储成本.

相似哈希是一种特殊的哈希值计算方法, 此方法可以使得内容相近的信息计算出的哈希值也接近.最经典的simHash算法的原理相当于将一个文本的所有关键词对应的特征向量相加, 将得到的和作为哈希值.

最后更新: 2024年04月29日 13:25

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2024/02/25/%E6%95%B0%E5%AD%A6%E4%B9%8B%E7%BE%8E%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/