分类
ASRT 机器学习及应用 程序设计

统计语言模型:从中文拼音到文本

前言:

自然语言是信息的载体,记录和传播着信息,信息论之父香农对信息的定义是“信息是用于消除随机不确定性的东西”。信息通过编码,经过一定的信道传输,然后传递到接收者,再解码成对应的可被人理解感知的东西,就完成了一次信息的传递。原始人的通信方式就是说话,而说话是先将信息编码为对应的语言信号,可以是文本,可以是声音,也可以就是中文拼音,然后接收者再将收到的信号进行解码。而我们人类对自然语言的处理经历了从基于规则的算法到基于统计的算法,显然基于统计的方法比规则更有效,下面我将介绍一种基于统计的语言模型,可以实现从拼音转为文本。

分类
智能语音技术 程序设计

为声音文件添加白噪音

在数字信号的处理中,我们在研究一些问题的时候,经常会用到噪音,甚至有时候专门产生噪音并添加到某些信号中来研究一些问题。比如,图像和语音识别等任务中添加一些不同的噪音来测试机器学习模型在有噪音环境下的识别率。我们就需要使用一些方法来产生噪音并且添加到原信号中去。

噪声从物理角度上看,是声波的频率、强弱变化无规律、杂乱无章的声音。[1] 白噪声,是一种功率谱密度为常数的随机信号或随机过程。“白色”仅意味着信号是不相关的,白噪声定义要求其均值为零,但没有对信号应当服从哪种概率分布作出任何假设。如果某白噪声过程服从高斯分布,则它是“高斯白噪声”。类似的,还有泊松白噪声、柯西白噪声等。[2]

分类
数据结构和算法 程序设计

基于字典的简单中文分词算法

做自然语言处理,尤其是中文自然语言处理,文本分词是必不可少的过程。其实不仅仅是中文,大多数亚洲的语言文字在计算机做处理时,都需要进行分词,甚至英文在识别短语时也要进行类似中文分词的过程。所以,我们需要一种有效的分词算法,这里我仅以中文做实例,其他语言可以参考,介绍一种简单的中文分词算法,并附上一个C#版的示例代码。

分类
程序设计

彩色图转为灰度图和黑白图方法

在图像处理中,我们通常把彩色图像转为灰度图像,或者黑白图,然后再实现一些相关的计算和识别,比如图像识别等,是计算机视觉方面最常用的一种基本方法。进行了转换之后,很多事情就变得简单方便起来。

分类
ASRT 数据结构和算法 程序设计

统计N元语言模型生成算法:简单中文词频统计

做自然语言处理有一个基本的步骤是词频统计,然而我们知道,中文的词语有单音节词、双音节词和多音节词之分,所以中文处理起来远比英文复杂得多。不过,我们可以“偷个懒”,如果要做词频统计的文本量足够大,而且我们只需要知道词频最高的几个词的话,那么我们可以将问题简化一下。

分类
程序设计

自己整理的几个C++实用函数(陆续更新)

自己学习工作中常用的几个C++函数,跟大家分享出来,我会持续更新,以增加和改进函数的。