2018-11-06 09:43:13 Xwei1226 阅读数 7121
  • 从零开始自然语言处理

    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP) 是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用 NLP以及它的组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要,机器翻译,命名实体识别,关系提取,情感分析,语音识别,以及主题分割等等。 一般情况下一个初级NLP工程师的工资从15万-35万不等,所以掌握NLP技术,对于人工智能学习者来讲是非常关键的一个环节。 课程从自然语言处理的基本概念与基本任务出发,对目前主流的自然语言处理应用进行全面细致的讲解, 包括文本分类,文本摘要提取,文本相似度,文本情感分析,文本特征提取等,同时算法方面包括经典算法与深度学习算法的结合,例如 LSTM,BiLSTM等,并结合京东电商评论分类、豆瓣电影摘要提取、今日头条舆情挖掘、饿了么情感分析等过个案例,帮助大家熟悉自然语言处理工程师在工作中会接触到的 常见应用的实施的基本实施流程,从0-1入门变成自然语言处理研发工程师。

    470 人正在学习 去看看 钱兴会

  好久没写博客了,今天更新一下使用Python提取声学模型的特征,一共三种特征,分别是MFCC、FABNK以及语谱图特征,直接上Python代码。

# -*- coding:utf-8 -*-
# author:zhangwei

"""
   该脚本用于提取语音特征,包括MFCC、FBANK以及语谱图特征;
   该脚本是对标签数据进行处理;
"""

from python_speech_features import mfcc, delta, logfbank
import wave
import numpy as np
from scipy.fftpack import fft

def read_wav_data(filename):
    '''
    获取文件数据以及采样频率;
    输入为文件位置,输出为wav文件数学表示和采样频率;
    '''
    wav = wave.open(filename, 'rb')
    num_frames = wav.getnframes()
    num_channels = wav.getnchannels()
    framerate = wav.getframerate()
    str_data = wav.readframes(num_frames)
    wav.close()
    wave_data = np.fromstring(str_data, dtype=np.short)
    wave_data.shape = -1, num_channels
    wave_data = wave_data.T
    return wave_data, framerate

def get_mfcc_feature(wavsignal, fs):
    '''
    输入为wav文件数学表示和采样频率,输出为语音的MFCC特征+一阶差分+二阶差分;
    '''
    feat_mfcc = mfcc(wavsignal, fs)
    print(feat_mfcc)
    feat_mfcc_d = delta(feat_mfcc, 2)
    feat_mfcc_dd = delta(feat_mfcc_d, 2)
    wav_feature = np.column_stack((feat_mfcc, feat_mfcc_d, feat_mfcc_dd))
    return wav_feature

def get_fbank_feature(wavsignal, fs):
    '''
    输入为wav文件数学表示和采样频率,输出为语音的FBANK特征+一阶差分+二阶差分;
    '''
    feat_fbank = logfbank(wavsignal, fs, nfilt=40)
    feat_fbank_d = delta(feat_fbank, 2)
    feat_fbank_dd = delta(feat_fbank_d, 2)
    wav_feature = np.column_stack((feat_fbank, feat_fbank_d, feat_fbank_dd))
    return wav_feature

def get_frequency_feature(wavsignal, fs):
    '''
    输入为wav文件数学表示和采样频率,输出为语谱图特征,特征维度是200;
    '''
    x = np.linspace(0, 400 - 1, 400, dtype=np.int64)
    w = 0.54 - 0.46 * np.cos(2 * np.pi * (x) / (400 - 1))
    time_window = 25
    wav_array = np.array(wavsignal)
    wav_length = wav_array.shape[1]
    first2end = int(len(wavsignal[0]) / fs * 1000 - time_window) // 10
    data_input = np.zeros(shape=[first2end, 200], dtype=np.float)
    for i in range(0, first2end):
        p_start = i * 160
        p_end = p_start + 400
        data_line = wav_array[0, p_start:p_end]
        data_line = data_line * w
        data_line = np.abs(fft(data_line)) / wav_length
        data_input[i] = data_line[0: 200]
    data_input = np.log(data_input)
    return data_input

def get_wav_list(filepath):
    '''
       读取标签文件,并把标签文件与标签位置进行处理,输入为处理好的标签位置,输出为标签位置列表以及标签位置字典;
    '''
    list_wav = []
    dic_filelist = {}
    with open(filepath, 'r') as fr:
        lines = fr.readlines()
        for line in lines:
            res = line.strip().split(' ')
            dic_filelist[res[0]] = res[1]
            list_wav.append(res[0])
    return dic_filelist , list_wav

def get_wav_text(filename):
    '''
       输入为文件位置,输出为标签位置以及标签字典('D31_984': ['早稻', '播种', '和', '育秧', '的', '天气', '条件', '有利', '与否', '与', '这', '一', '期间', '的', '日', '平均', '温度', '阴雨', '日数', '密切', '相关'], 'D12_867':);
    '''
    dic_wav_list = {}
    list_text = []
    with open(filename ,'r') as fr:
        lines = fr.readlines()
        for line in lines:
            res = line.strip().split()
            list_text.append(res[0])
            dic_wav_list[res[0]] = res[1 :]
    return dic_wav_list , list_text

if __name__ == '__main__':
    # filepath = 'D4_750.wav'
    filepath = '/home/zhangwei/PycharmProjects/ASR_MFCC/datalist/test.word.txt'
    # wavsignal, fs = read_wav_data(filepath)
    # a = get_mfcc_feature(wavsignal , fs)
    # b = get_fbank_feature(wavsignal , fs)
    # get_frequency_feature(wavsignal , fs)
    # get_wav_list(filepath)
    get_wav_text(filepath)

 
2018-01-05 10:58:01 w_manhong 阅读数 14626
  • 从零开始自然语言处理

    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP) 是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用 NLP以及它的组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要,机器翻译,命名实体识别,关系提取,情感分析,语音识别,以及主题分割等等。 一般情况下一个初级NLP工程师的工资从15万-35万不等,所以掌握NLP技术,对于人工智能学习者来讲是非常关键的一个环节。 课程从自然语言处理的基本概念与基本任务出发,对目前主流的自然语言处理应用进行全面细致的讲解, 包括文本分类,文本摘要提取,文本相似度,文本情感分析,文本特征提取等,同时算法方面包括经典算法与深度学习算法的结合,例如 LSTM,BiLSTM等,并结合京东电商评论分类、豆瓣电影摘要提取、今日头条舆情挖掘、饿了么情感分析等过个案例,帮助大家熟悉自然语言处理工程师在工作中会接触到的 常见应用的实施的基本实施流程,从0-1入门变成自然语言处理研发工程师。

    470 人正在学习 去看看 钱兴会

语音识别对特征参数有如下要求:

1. 能将语音信号转换为计算机能够处理的语音特征向量

2. 能够符合或类似人耳的听觉感知特性

3. 在一定程度上能够增强语音信号、抑制非语音信号

常用特征提取方法有如下几种:

(1)线性预测分析(LinearPredictionCoefficients,LPC)

    拟人类的发声原理,通过分析声道短管级联的模型得到的。假设系统的传递函数跟全极点的数字滤波器是相似的,通常用12-16个极点就可以描述语音信号的特征。所以对于n时刻的语音信号,我们可以用之前时刻的信号的线性组合近似的模拟。然后计算语音信号的采样值和线性预测的采样值。并让这两者之间达到均方的误差(MSE)最小,就可以得到LPC。

(2)感知线性预测系数(PerceptualLinearPredictive,PLP)

    一种基于听觉模型的特征参数。该参数是一种等效于LPC的特征,也是全极点模型预测多项式的一组系数。不同之处是PLP是基于人耳听觉,通过计算应用到频谱分析中,将输入语音信号经过人耳听觉模型处理,替代LPC所用的时域信号,这样的优点是有利于抗噪语音特征的提取。

(3)Tandem特征和Bottleneck特征

    这是两种利用神经网络提取的两类特征。Tandem特征是神经网络输出层节点对应类别的后验概率向量降维并与MFCC或者PLP等特征拼接得到。Bottleneck特征是用一种特殊结构的神经网络提取,这种神经网络的其中一个隐含层节点数目比其他隐含层小的多,所以被称之为Bottleneck(瓶颈)层,输出的特征就是Bottleneck特征。

(4)基于滤波器组的Fbank特征(Filterbank)

    亦称MFSC,Fbank特征的提取方法就是相当于MFCC去掉最后一步的离散余弦变换,跟MFCC特征相比,Fbank特征保留了更多的原始语音数据。

(5)线性预测倒谱系数(LinearPredictiveCepstralCoefficient,LPCC)

    基于声道模型的重要特征参数。LPCC是丢弃了信号生成过程中的激励信息。之后用十多个倒谱系数可以代表共振峰的特性。所以可以在语音识别中取得很好的性能。

(6)梅尔频率倒谱系数(MelFrequencyCepstrumCoefficient,MFCC)

     基于人耳听觉特性,梅尔频率倒谱频带划分是在Mel刻度上等距划分的,频率的尺度值与实际频率的对数分布关系更符合人耳的听觉特性,所以可以使得语音信号有着更好的表示。1980年由Davis和Mermelstein搞出来的。从那时起。在语音识别领域,MFCC可谓是鹤立鸡群,一枝独秀。

Q: MFCC为何一枝独秀

    人通过声道产生声音,声道的shape决定了发出怎样的声音。声道的shape包括舌头,牙齿等。如果我们可以准确的知道这个形状,那么我们就可以对产生的音素phoneme进行准确的描述。声道的形状在语音短时功率谱的包络中显示出来。而MFCC就是一种准确描述这个包络的一种特征。

声谱图

    处理语音信号,如何去描述它很重要,因为不同的描述方式放映它不同的信息,而声谱图的描述方式是最利于观测和理解的。

    由上图可知,这段语音被分为很多帧,每帧语音都对应于一个频谱(通过短时FFT计算),频谱表示频率与能量的关系。在实际使用中,频谱图有三种,即线性振幅谱、对数振幅谱、自功率谱(对数振幅谱中各谱线的振幅都作了对数计算,所以其纵坐标的单位是dB(分贝)。这个变换的目的是使那些振幅较低的成分相对高振幅成分得以拉高,以便观察掩盖在低幅噪声中的周期信号)。

 

                        

    先将其中一帧语音的频谱通过坐标表示出来,如上图(a)。旋转90度,得到图(b)。把这些幅度映射到一个灰度级表示,得到了图(c)。这样操作的原因是为了增加时间维度,,得到一个随着时间变化的频谱图,这个就是描述语音信号的声谱图(spectrogram)。这样就可以显示一段语音而不是一帧语音的频谱,而且可以直观的看到静态和动态的信息。

       

倒谱分析(CepstrumAnalysis)

    下面是一个语音的频谱图。峰值就表示语音的主要频率成分,我们把这些峰值称为共振峰(formants),而共振峰就是携带了声音的辨识属性,用它就可以识别不同的声音。因此,需要把它提取出来。要提取的不仅是共振峰的位置,还得提取它们转变的过程。所以我们提取的是频谱的包络(SpectralEnvelope)。这包络就是一条连接这些共振峰点的平滑曲线。

                      

    由上图可以看出,原始的频谱由两部分组成:包络和频谱的细节。因此需要把这两部分分离开,就可以得到包络了。按照下图的方式进行分解,在给定logX[k]的基础上,求得logH[k]和logE[k]满足logX[k]=logH[k]+logE[k]。

     

    由上面这个图我们可以看到,包络主要是低频成分,而高频主要是频谱的细节。把它俩叠加起来就是原来的频谱信号了。即,h[k]是x[k]的低频部分,因此将x[k]通过一个低通滤波器就可以得到h[k]了,也就是频谱的包络。

 

    以上解卷过程的专业术语叫做同态信号处理,(另一种方法为基于线性变换)。语音本身可以看成是声道冲击信息(包括话者个性信息、语义信息,表现为频谱低频成分)经过声门激励的一个响应函数,在时域上表现为卷积形式。为将二者分离开来,求得声道共振特征和基音周期,需要把这种非线性问题转化为线性问题第一步通过FFT将其变成了乘性信号(时域的卷积相当于频域的乘积);第二步通过取对数将乘性信号转化为加性信号;第三步进行逆变换,使其恢复为卷性信号。此时,虽然前后均是时域序列,但它们所处的离散时域显然不同,所以后者称为倒谱频域。计算过程如下图所示。

 

附上MFCC求取流程:https://blog.csdn.net/xiaoding133/article/details/8106672

 

2019-12-21 20:51:47 BBJG_001 阅读数 651
  • 从零开始自然语言处理

    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP) 是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用 NLP以及它的组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要,机器翻译,命名实体识别,关系提取,情感分析,语音识别,以及主题分割等等。 一般情况下一个初级NLP工程师的工资从15万-35万不等,所以掌握NLP技术,对于人工智能学习者来讲是非常关键的一个环节。 课程从自然语言处理的基本概念与基本任务出发,对目前主流的自然语言处理应用进行全面细致的讲解, 包括文本分类,文本摘要提取,文本相似度,文本情感分析,文本特征提取等,同时算法方面包括经典算法与深度学习算法的结合,例如 LSTM,BiLSTM等,并结合京东电商评论分类、豆瓣电影摘要提取、今日头条舆情挖掘、饿了么情感分析等过个案例,帮助大家熟悉自然语言处理工程师在工作中会接触到的 常见应用的实施的基本实施流程,从0-1入门变成自然语言处理研发工程师。

    470 人正在学习 去看看 钱兴会

openSMILE语音特征提取工具的使用

参考文献
https://zhuanlan.zhihu.com/p/69170521

一、openSMILE简介

openSMILE是一个语音特征提取的工具,在语音识别(特征提取前端、关键字识别等.),情感计算(情感识别、敏感虚拟代理等),音乐信息检索(和弦标注、节拍跟踪、起跳检测等)等领域有着较为广泛的应用。
官网 https://www.audeering.com/
该工具官网称该工具可以计算多达6000个音频特征,并可以识别情感的细微差别,以匹配他们与具体的情感。
openSMILE可以处理的视频文件格式包括:

•RIFF-WAVE (PCM) (MP3, MP4, OGG等需要使用转换器)
•逗号分隔值(CSV)
•HTK参数les
•WEKA的ARFF格式
•通过openCV的视频流

openSMILE可以提取一下音频特征

• Frame Energy
• Frame Intensity / Loudness (approximation)
• Critical Band spectra (Mel/Bark/Octave, triangular masking lters)
• Mel-/Bark-Frequency-Cepstral Coecients (MFCC)
• Auditory Spectra
• Loudness approximated from auditory spectra.
• Perceptual Linear Predictive (PLP) Coecients
• Perceptual Linear Predictive Cepstral Coecients (PLP-CC)
• Linear Predictive Coecients (LPC)
• Line Spectral Pairs (LSP, aka. LSF)
• Fundamental Frequency (via ACF/Cepstrum method and via Subharmonic-Summation (SHS))
• Probability of Voicing from ACF and SHS spectrum peak
• Voice-Quality: Jitter and Shimmer
• Formant frequencies and bandwidths
• Zero- and Mean-Crossing rate
• Spectral features (arbitrary band energies, roll-o points, centroid, entropy, maxpos, minpos, variance (=spread), skewness, kurtosis, slope)
• Psychoacoustic sharpness, spectral harmonicity
• CHROMA (octave warped semitone spectra) and CENS features (energy normalised and smoothed CHROMA)
• CHROMA-derived Features for Chord and Key recognition
• F0 Harmonics ratios

基于openCV的库,openSMILE可以提取以下视频特征

• HSV colour histograms
• Local binary patterns (LBP)
• LBP histograms
• Optical fow and optical fow histograms
• Face detection: all these features can be extracted from an automatically detected facial region, or from the full image.

二、openSMILE工作机制

openSMILE工具自带多种语音特征提取的配置文件,通过调用配置文件,可以按配置文件的预设提取响应的语音特征。openSMILE中包含以下的配置文件供使用者选择。

• Chroma features for key and chord recognition
• MFCC for speech recognition
• PLP for speech recognition
• Prosody (Pitch and loudness)
• The INTERSPEECH 2009 Emotion Challenge feature set
• The INTERSPEECH 2010 Paralinguistic Challenge feature set
• The INTERSPEECH 2011 Speaker State Challenge feature set
• The INTERSPEECH 2012 Speaker Trait Challenge feature set
• The INTERSPEECH 2013 ComParE feature set
• The MediaEval 2012 TUM feature set for violent scenes detection.
• Three reference sets of features for emotion recognition (older sets, obsoleted by the new INTERSPEECH challenge sets)
• Audio-visual features based on INTERSPEECH 2010 Paralinguistic Challenge audio features.

三、openSMILE Windows安装

可以从 https://www.audeering.com/opensmile/ 下载到openSMILE的压缩包文件,Linux的安装文件也可以在该网址下get到,不过笔者没有实践过如何安装。Windows下解压压缩包即可使用,比较不人性化的一点是,该工具需要调用命令行来完成相应的功能。没有配置人机交互界面。

四、 特征提取实现

openSMILE语音特征提取的命令如下

SMILExtract_Release -C 配置文件路径 -I “要处理的音频路径” -O “要保存特征向量的路径及文件名”

首先需要调出cmd命令行界面,接着再切换到处理文件SMILExtract.exe所在的目录下 ,执行特征提取命令即可在指定位置生成提取的特征文件,这里以2009年情感挑战赛特征集的配置文件为例举例实现。
在这里插入图片描述
生成的处理文件如下所示
特征文件前半部分
生成的特征文件包括两部分,第一部分是关于各个维度特征的说明,如上图缩水。
特征文件特征部分
第二部分是生成的特征向量,如上图所示。
使用命令行提取特征文件比较不方便的一点是,每次只能处理一段音频,生成一个处理文件。

五、 使用python编程批量提取语音特征

参考文献
https://blog.csdn.net/cg896406166/article/details/81066791

  1. 读取指定文件中所有的语音文件,依次处理,将生成的特征文件保存到另一个指定文件中,代码如下
import os
audio_path = 'C:/Users/Administrator/Desktop/download/wav'  # 音频文件所在目录
output_path='C:/Users/Administrator/Desktop/download/rebuild'   # 特征文件输出目录
audio_list=os.listdir(audio_path)   # 生成所有音频文件文件名的列表
features_list=[]
for audio in audio_list:    # 遍历指定文件夹下的所有文件
    if audio[-4:]=='.wav':
        this_path_input=os.path.join(audio_path, audio)  # 打开一个具体的文件,audio_path+audio
        this_path_output=os.path.join(output_path,audio[:-4]+'.txt')
        # &&连续执行;C: 进入C盘内;进入opensmile中要执行的文件的目录下;执行文件 -C 配置文件 -I 语音文件 -O 输出到指定文件
        cmd = 'C: && cd C:/Program/opensmile-2.3.0/bin/Win32 && SMILExtract_Release -C C:/Program/opensmile-2.3.0/config/IS09_emotion.conf -I ' + this_path_input + ' -O ' + this_path_output
    os.system(cmd)
print('over~')
  1. 批量处理生成特征的文本文件,提取组合出可以用来学习处理的矩阵文件。代码如下
import os
import pandas as pd

txt_path = 'C:/Users/Administrator/Desktop/download/rebuild'    # 特征文本文件所在目录
txt_list = os.listdir(txt_path)
features_list = []
for file in txt_list:    # 遍历指定文件夹下的所有文件
    if file[-4:] == '.txt':
        file_path = os.path.join(txt_path, file)
        # 打开输出文件
        f = open(file_path)
        # 最后一行是特征向量,取最后一行
        last_line = f.readlines()[-1]
        f.close()
        features = last_line.split(',')
        # 最后一行特征行的第一个元素为‘unknown’,最后一个为‘?’,都不是对应的特征,要去掉
        features = features[1:-1]
        features_list.append(features)
data_m = pd.DataFrame(features_list)
data_m.to_csv(os.path.join('C:/Users/Administrator/Desktop/download', 'test_data.csv'), sep = ',', header=False, index=False)
print('over')

这样特征文件就生成完成了,生成的特征文件如下图所示
在这里插入图片描述

2020-01-12 12:38:30 hsb1132 阅读数 65
  • 从零开始自然语言处理

    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP) 是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用 NLP以及它的组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要,机器翻译,命名实体识别,关系提取,情感分析,语音识别,以及主题分割等等。 一般情况下一个初级NLP工程师的工资从15万-35万不等,所以掌握NLP技术,对于人工智能学习者来讲是非常关键的一个环节。 课程从自然语言处理的基本概念与基本任务出发,对目前主流的自然语言处理应用进行全面细致的讲解, 包括文本分类,文本摘要提取,文本相似度,文本情感分析,文本特征提取等,同时算法方面包括经典算法与深度学习算法的结合,例如 LSTM,BiLSTM等,并结合京东电商评论分类、豆瓣电影摘要提取、今日头条舆情挖掘、饿了么情感分析等过个案例,帮助大家熟悉自然语言处理工程师在工作中会接触到的 常见应用的实施的基本实施流程,从0-1入门变成自然语言处理研发工程师。

    470 人正在学习 去看看 钱兴会

1.因为语音信号不是平稳信号(均值方差等统计特征随时间变化),所以需要将信号分切成很多短的小范围内平稳的信号段(到音素级别),也就是分帧,常用的帧长为 25ms,帧移是10ms,前后帧重叠会使前后帧的统计特征不至于变化太大。分帧是用窗口函数与原信号相乘,但时域相乘到了频域是卷积,窗口函数如果用矩形窗则会因为矩形信号频谱有比较大的旁瓣而造成频率泄漏 ,所以一般用旁瓣小的汉明窗。

采样时频率分辨率概念:采样时要使采出来的频谱信息能恢复原信号,每个频率至少采两次,这是采样定理。  采样时如果采样率是16K,则最多只能还原出8k带宽的信号。如果采集了400个数点,则相当于将原信号的频率采集了200遍。采样后做离散傅立叶变换,如果输出的值是512位(这个是可以自己定义的,和采样点数没关系),则512位等分16k频率,每位占32HZ,也即频率分辨率为32Hz。可见频率分辨率只和采样率及fft输出位数有关。

频率泄漏的概念:分帧时是信号和窗函数相乘,频率上是信号频谱与窗频谱卷积,如果窗函数旁瓣比较大,则会出现卷积后的频谱在旁瓣处也会比较大,恢复原信号时越完整的频率信息越能恢复原来信号。但我们做采样时采样率已经限制了我们信号的频率带宽,fft时也不能用少量数点输出很高精度超过原始信号带宽的频率信息。所以造成旁瓣处的频率不能参与表示原信号,与原信号失真,旁瓣越大失真越大。

2.分帧之前有一个加重处理,主要是为了去除口唇辐射的影响,提高语音高频的分辨率,使高频共振峰更加明显,所以将信号过了一个高通滤波器(x[n]=x[n]-a*x[n-1]),以增加高频部分的能量。

3.取窗口内的信号作为一个周期,这个周期以外的数据全用这个周期来扩展,这样取出来的信号不管是不是周期信号,扩展后的信号在整个时间轴上就变成了周期信号,离散周期信号就可以用计算机进行离散傅立叶变换。

4.因为人耳对频率的感知不是等间隔的,所以需要将频率转化为感知上等间隔梅尔频率( mel=2595*log(1+f/700) ), 然后用一组三角滤器确定信号在各个梅尔频段上的能量。

5.将梅尔频段上的能量取log即得到fbank特征,fbank常作为为DNN特征。

6.频域信号可以成一个低频率包络和高频信号合成(包络*高频细节),其中低频包络的共振峰对识别音素效果特别显著。将包络与高频分离的方法为:将频域信号取模(这里主要是为做离散余弦变换DCT,离散余弦变换与离散傅立叶变换的差别在于他只在实数域进行变换,一个实偶函数的傅里叶变换仍然是一个实偶函数。DTC是一种压缩傅立叶变换,不同频段压宿密度不同,很多场合低频信息重要度高于高频信息),然后取对数(对数特征对输入信号扰动不敏感),再进行逆离散傅立叶变换(相当于对频域信号再进行一次傅立叶变换),得到的结果即为MFCC特征(12维),然后将得到的特征进行一阶差分(12维)、二阶差分(12维)、能量特征(一维:sum(x[n]*x[n])),一阶差分能量(一维),二阶差分能量(一维),共39维。MFCC特征与Fbank特征相比,各维度之间的相关性小(和DCT变换有关)。

 

 

2020-03-22 15:59:32 u014365862 阅读数 695
  • 从零开始自然语言处理

    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP) 是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用 NLP以及它的组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要,机器翻译,命名实体识别,关系提取,情感分析,语音识别,以及主题分割等等。 一般情况下一个初级NLP工程师的工资从15万-35万不等,所以掌握NLP技术,对于人工智能学习者来讲是非常关键的一个环节。 课程从自然语言处理的基本概念与基本任务出发,对目前主流的自然语言处理应用进行全面细致的讲解, 包括文本分类,文本摘要提取,文本相似度,文本情感分析,文本特征提取等,同时算法方面包括经典算法与深度学习算法的结合,例如 LSTM,BiLSTM等,并结合京东电商评论分类、豆瓣电影摘要提取、今日头条舆情挖掘、饿了么情感分析等过个案例,帮助大家熟悉自然语言处理工程师在工作中会接触到的 常见应用的实施的基本实施流程,从0-1入门变成自然语言处理研发工程师。

    470 人正在学习 去看看 钱兴会
没有更多推荐了,返回首页