HTK建立Yes/No识别

最近在学习工具包HTK的使用,看了官网提供的htkbook,对工具包的使用有很多不清楚,对HMM模型及语音识别的过程还没有一个比较清晰的认识,所以想通过实践来加深理解。搜了网上关于HTK的入门资料,比较多的是介绍如何建立一个Yes/No的识别系统,有本pdf叫HTK basic tutorial就是讲如何建立该系统。但由于页数比较多,本人较懒,我就直接参考一些博客所说的步骤来执行。在这过程中,遇到了一些“坑”,让我执腾了一下,因此写这篇文章来记录下。我是在Windows下使用HTK工具包的,接下来简单介绍下建立Yes/No识别系统的步骤。

1、 建立一个工作目录,在该目录下打开命令窗口(在该目录下按shit+鼠标右键可看到“在此处打开命令窗口”)。输入hslab yes.sig,打开UI界面,选择rec,对着Mic说“Yes”,说完后选stop,此时可在波形窗口看到所录的波形。

接下来需要对这段波形标签,我们将波形分成三段:“sil”,“yes”,“sil”(yes前后有两个静音段,标签名称都为sil)。通过界面很容易标签,首先选择Mark,选择该标签的起点终点,再选择Labelas,输入标签名,注意标签名之间不能重叠。标签完后,选择save保存,可以看到有yes_0.sig,yes_0.lab两个文件,我们需要将文件重命名,比如yes_00.sig,yes_00.lab,防止被覆盖。然后选择new,开始录新的“Yes”。重复上面的步骤,生成yes_00.sig ~ yes_09.sig,yes_00.lab ~ yes_09.lab,注意录音和标签文件需足够多,否则后面则行Hinit时会报Error。

同样建立no_00.sig ~ no_09.sig,no_00.lab ~ no_09.lab

我分别建立了sig_dir和label_dir,用来放*.sig和*.lab文件

2、 对*.sig进行前处理及特征提取,建立文件analysis.conf,文件内容为:

SOURCEFORMAT = HTK

TARGETKIND = MFCC_0_D_A

WINDOWSIZE = 250000.0

TARGETRATE = 100000.0

NUMCEPS = 12

USEHAMMING = T

PREEMCOEF = 0.97

NUMCHANS = 26

CEPLIFTER = 22

建立mfcc_dir,用来存放生成的mfcc文件,还需建文件targetlist.txt,内容为:

sig_dir/yes_00.sig mfcc_dir/yes_00.mfcc

sig_dir/yes_01.sig mfcc_dir/yes_01.mfcc

sig_dir/yes_02.sig mfcc_dir/yes_02.mfcc

sig_dir/yes_03.sig mfcc_dir/yes_03.mfcc

sig_dir/yes_04.sig mfcc_dir/yes_04.mfcc

sig_dir/yes_05.sig mfcc_dir/yes_05.mfcc

sig_dir/yes_06.sig mfcc_dir/yes_06.mfcc

sig_dir/yes_07.sig mfcc_dir/yes_07.mfcc

sig_dir/yes_08.sig mfcc_dir/yes_08.mfcc

sig_dir/yes_09.sig mfcc_dir/yes_09.mfcc

sig_dir/no_00.sig mfcc_dir/no_00.mfcc

sig_dir/no_01.sig mfcc_dir/no_01.mfcc

sig_dir/no_02.sig mfcc_dir/no_02.mfcc

sig_dir/no_03.sig mfcc_dir/no_03.mfcc

sig_dir/no_04.sig mfcc_dir/no_04.mfcc

sig_dir/no_05.sig mfcc_dir/no_05.mfcc

sig_dir/no_06.sig mfcc_dir/no_06.mfcc

sig_dir/no_07.sig mfcc_dir/no_07.mfcc

sig_dir/no_08.sig mfcc_dir/no_08.mfcc

sig_dir/no_09.sig mfcc_dir/no_09.mfcc

sig_dir/no_10.sig mfcc_dir/no_10.mfcc

在命令窗口中输入:Hcopy -A -D -C analysis.conf -S targetlist.txt,可看到在mfcc_dir目录下生成*.mfcc文件

3、 得到了特征参数,我们需要建立HMM模型,我们需要建立yes,no,sil的HMM模型,我们需要建立三个文件,hmm_yes、hmm_no、hmm_sil,内容如下:

文件hmm_yes:

~o <VecSize> 39 <MFCC_0_D_A>

~h "yes"

<BeginHMM>

<NumStates> 6

<State> 2

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 3

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 4

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 5

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<TransP> 6

0.0 0.5 0.5 0.0 0.0 0.0

0.0 0.4 0.3 0.3 0.0 0.0

0.0 0.0 0.4 0.3 0.3 0.0

0.0 0.0 0.0 0.4 0.3 0.3

0.0 0.0 0.0 0.0 0.5 0.5

0.0 0.0 0.0 0.0 0.0 0.0

<EndHMM>

文件hmm_no:

~h "no"

<BeginHMM>

<NumStates> 6

<State> 2

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 3

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 4

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 5

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<TransP> 6

0.0 0.5 0.5 0.0 0.0 0.0

0.0 0.4 0.3 0.3 0.0 0.0

0.0 0.0 0.4 0.3 0.3 0.0

0.0 0.0 0.0 0.4 0.3 0.3

0.0 0.0 0.0 0.0 0.5 0.5

0.0 0.0 0.0 0.0 0.0 0.0

<EndHMM>

文件hmm_sil:

~o <VecSize> 39 <MFCC_0_D_A>

~h "sil"

<BeginHMM>

<NumStates> 6

<State> 2

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 3

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 4

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<State> 5

<Mean> 39

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

<Variance> 39

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<TransP> 6

0.0 0.5 0.5 0.0 0.0 0.0

0.0 0.4 0.3 0.3 0.0 0.0

0.0 0.0 0.4 0.3 0.3 0.0

0.0 0.0 0.0 0.4 0.3 0.3

0.0 0.0 0.0 0.0 0.5 0.5

0.0 0.0 0.0 0.0 0.0 0.0

<EndHMM>

4、 对模型初始化,需要用到命令Hinit和Hcompv。建立文件trainlist_sil.txt,内容如下:

mfcc_dir/yes_00.mfcc

mfcc_dir/yes_01.mfcc

mfcc_dir/yes_02.mfcc

mfcc_dir/yes_03.mfcc

mfcc_dir/yes_04.mfcc

mfcc_dir/yes_05.mfcc

mfcc_dir/yes_06.mfcc

mfcc_dir/yes_07.mfcc

mfcc_dir/yes_08.mfcc

mfcc_dir/yes_09.mfcc

mfcc_dir/no_00.mfcc

mfcc_dir/no_01.mfcc

mfcc_dir/no_02.mfcc

mfcc_dir/no_03.mfcc

mfcc_dir/no_04.mfcc

mfcc_dir/no_05.mfcc

mfcc_dir/no_06.mfcc

mfcc_dir/no_07.mfcc

mfcc_dir/no_08.mfcc

mfcc_dir/no_09.mfcc

mfcc_dir/no_10.mfcc

建立hmm0目录保存HMM模型初始化结果,分别输入以下命令

hinit -A -D -T 1 -S trainlist.txt -M hmm0 -H hmm_yes -l yes -L label_dir yes

hinit -A -D -T 1 -S trainlist.txt -M hmm0 -H hmm_no -l no -L label_dir no

hinit -A -D -T 1 -S trainlist.txt -M hmm0 -H hmm_sil -l sil -L label_dir sil

在执行第三条命令时,遇到如下错误:

我是通过以下方式解决,具体原因不清楚。建立trainlist_sil.txt文件,内容如下:

mfcc_dir/yes_00.mfcc

mfcc_dir/yes_01.mfcc

mfcc_dir/yes_02.mfcc

mfcc_dir/yes_03.mfcc

mfcc_dir/yes_04.mfcc

mfcc_dir/yes_05.mfcc

mfcc_dir/yes_06.mfcc

mfcc_dir/yes_07.mfcc

mfcc_dir/yes_08.mfcc

mfcc_dir/yes_09.mfcc

将命令换成hinit -A -D -T 1 -S trainlist_sil.txt -M hmm0 -H hmm_sil -l sil -L label_dir sil

顺利执行这三条命令后,在hmm0目录下生成hmm_yes,hmm_no,hmm_sil,这三个文件与我们自己建立的内容是不一样的。

我们还需要用Hcompv生成vFloors,建立hmm0flat目录,输入以下命令:

Hcompv -A -D -T 1 -S trainlist.txt -M hmm0flat -H hmm_yes -f 0.01 yes

运行后可在hmm0flat下看到vFloors文件,将其拷贝到工作目录下

5、 接下来要做的就是对模型进行训练。新建hmm1,hmm2,hmm3这三个文件夹,分别保存三次训练的结果。

第一次训练yes:

HRest -A -D -T 1 -S trainlist.txt -M hmm1 -H vFloors -H hmm0\hmm_yes -l yes -L label_dir yes

执行这条命令时,发生如下错误

改命令的顺序可以解决问题,修改后为:

HRest -A -D -T 1 -S trainlist.txt -M hmm1 -H hmm0\hmm_yes -H vFloors -l yes -L label_dir yes

第二次训练yes:

HRest -A -D -T 1 -S trainlist.txt -M hmm2 -H hmm1\hmm_yes -H vFloors -l yes -L label_dir yes

第三次训练yes:

HRest -A -D -T 1 -S trainlist.txt -M hmm3 -H hmm2\hmm_yes -H vFloors -l yes -L label_dir yes

同样的方法,可以对no及sil进行训练,输入:

HRest -A -D -T 1 -S trainlist.txt -M hmm1 -H hmm0\hmm_no -H vFloors -l no -L label_dir no

HRest -A -D -T 1 -S trainlist.txt -M hmm2 -H hmm1\hmm_no -H vFloors -l no -L label_dir no

HRest -A -D -T 1 -S trainlist.txt -M hmm3 -H hmm2\hmm_no -H vFloors -l no -L label_dir no

HRest -A -D -T 1 -S trainlist.txt -M hmm1 -H hmm0\hmm_sil -H vFloors -l sil -L label_dir sil

HRest -A -D -T 1 -S trainlist.txt -M hmm2 -H hmm1\hmm_sil -H vFloors -l sil -L label_dir sil

HRest -A -D -T 1 -S trainlist.txt -M hmm3 -H hmm2\hmm_sil -H vFloors -l sil -L label_dir sil

6、 建立句法文件gram.txt,文件内容如下:

$WORD = YES | NO;

( { START_SIL } [ $WORD ] { END_SIL } )

建立词典文件dict.txt,内容如下:

YES [yes] yes

NO [no] no

START_SIL [sil] sil

END_SIL [sil] sil

用如下命令将句法文件gram.txt编译成网络:

HParse -A -D -T 1 gram.txt net.slf

用如下命令查字典文件中的错误:

HSGen -A -D -n 10 -s net.slf dict.txt

7、 建立文件hmmlist.txt,其内容为:

yes

no

sil

建立文件input.mfcc(通过步骤1、2的方式)或直接用已经产生的yes_xx.mfcc或no_xx.mfcc。执行如下命令:

HVite -A -D -T 1 -H hmm3\hmm_yes -H hmm3\hmm_no -H hmm3\hmm_sil -I reco.mlf -w net.slf dict.txt hmmlist.txt input.mfcc

reco.mlf保存了识别结果,如果提示没有文件reco.mlf,那就先建个reco.mlf空文件。

8、 交互式识别

建立文件derectin.conf:

SOURCERATE = 625.0

SOURCEKIND = HAUDIO

SOURCEFORMAT = HTK

TARGETKIND = MFCC_0_D_A

WINDOWSIZE = 250000.0

TARGETRATE = 100000.0

NUMCEPS = 12

USEHAMMING = T

PREEMCOEF = 0.97

NUMCHANS = 26

CEPLIFTER = 22

AUDIOSIG = -1

输入命令:

HVite -A -D -T 1 -C directin.conf -g -H hmm3\hmm_yes -H hmm3\hmm_no -H hmm3\hmm_sil -w net.slf dict.txt hmmlist.txt

时间: 2024-08-06 17:04:28

HTK建立Yes/No识别的相关文章

人脸表情识别相关研究

1. 国内外研究人脸表情识别的公司与产品介绍 现在,国内外都有人脸识别的相关产品,尤其在美国,已经能够通过机器人识别人脸表情,还能推断人的年龄等.而在国内,以杭州热知科技为代表的主要是生产人脸识别和表情识别的嵌入式设备. 国外: 1.美国汉森机器人公司 爱因斯坦机器人Einstein 图1 美国汉森机器人公司的爱因斯坦机器人 Einstein是美国汉森机器人公司的机器人专家大卫·汉森设计的一款类人机器人.它不仅能识别喜怒哀乐.恐惧.迷茫等数以百计的面部表情,推断人的年龄和性别,还能做出相应表情回

AI时代,人脸识别的安全性怎么看?

最近,丰巢快递柜可用照片代替真人来刷脸进行取件.该漏洞被发现,并且丰巢客服回应称,该功能仅为测试使用,并未正式投入使用,并已采取措施进行下线,或等系统完善后再上线.其实,关于人脸识别出现漏洞的负面新闻并不是第一次了. 之前,在美国人脸识别发生的大失误是将很多国会议员判别为罪犯,导致在摄像头拍到议员的时候直接触发了警报.美国另一个城市,也发生了人脸识别漏洞,造成市民恐慌.这两个案例的发生造成美国多城市禁止人脸识别的使用.可见人脸识别技术一直不够成熟,也不够安全,还存在诸多问题,但是有必要需要禁止使

使用暹罗{(Xiānlu&#243;),泰国的旧称 one-shot} 网络进行人脸识别

使用暹罗{(Xiānluó),泰国的旧称 one-shot} 网络进行人脸识别 什么是暹罗网络? 暹罗网络是一种特殊类型的神经网络,是最简单.最常用的one-shot学习算法之一. one-shot学习是一种每类只从一个训练例子中学习的技术. 暹罗网络主要用于在每个类中没有很多数据点的应用程序中. 为什么要使用暹罗网络? 例如,假设我们想为我们的组织建立一个人脸识别模型,大约有500人在我们的组织中工作.如果我们想用卷积神经网络(CNN)从零开始建立人脸识别模型,那么我们需要这500个人的很多图

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进

STL-10

STL-10 dataset STL-10为了发展无监督特征学习.深度学习.自我学习算法而建立的图片识别数据集.受CIFAR10数据集的启发,但做了一些修正.每一类有比CIFAR10更少的标定的训练样本,但有非常大的未标记样本在进行监督训练前提供给模型.主要的挑战在于好好利用未标记的数据(来源类似但分布不同于标记的数据)来建立一个有用的先验.也期望数据集的更大的分辨率(96x96)能使其成为一个更具有可扩展性的无监督学习方法的更具挑战性的基准. 综述:

Analyzers,Tokenizers,Filters概述

字段分析器(Analyzers)即用于文档索引也用于查询.一个分析器检查字段的文本,并生成一个token流.分析器可能是一个单独的类,也可能是一系列的tokenizer和filter的组合. 分词器把字段数据分解成词汇单元或者tokens,过滤器(filters)检查tokens流,并且保持它们,转换它们,去除它们,或者创建一个新的token.分词器和过滤器可能会结合来形成管道,链条--这一个的输出就是下一个的输入.这样一个分词器和过滤器的序列叫做分析器(analyzer).分析器的结果输出用于

网络安全知多少(二)

计算机网络安全措施主要包括保护网络安全.保护应用服务安全和保护系统安全三个方面,下面我就针对这三方面分别进行大概解释. 一.保护网络安全 网络安全是为保护商务各方网络端系统之间通信过程的安全性.保证机密性.完整性.认证性和访问控制性是网络安全的重要因素.保护网络安全的主要措施如下: (1)全面规划网络平台的安全策略. (2)制定网络安全的管理措施. (3)使用防火墙. (4)尽可能记录网络上的一切活动. (5)注意对网络设备的物理保护. (6)检验网络平台系统的脆弱性. (7)建立可靠的识别和鉴

信息安全

信息安全本身包括的范围很大,其中包括如何防范商业企业机密泄露.防范青少年对不良信息的浏览.个人信息的泄露等. 网络环境下的信息安全体系是保证信息安全的关键,包括计算机安全操作系统.各种安全协议.安全机制(数字签名.消息认证.数据加密等),直至安全系统,其中任何一个安全漏洞便可以威胁全局安全. 信息安全服务至少应该包括支持信息网络安全服务的基本理论,以及基于新一代信息网络体系结构的网络安全服务体系结构. 概述 信息安全学科可分为狭义安全与广义安全两个层次,狭义的安全是建立在以密码论为基础的计算机安

python实践编程

上一篇文章说了我是怎么开始学习python的,这里要说的就是我开始我的第一个使用python来处理xls文件的小项目,在这个过程中我学到了哪些以及后面怎么继续学习python.在这篇文章之前,需要看过前面的<简明python教程>. 目标功能 $1 自动根据xls文件的标题行识别表单是否符合条件 $2 分离符合条件的表单为单独文件 $3 处理符合条件的xls文件,自动识别标题行 $4 获取对应标题列数据,写入指定表单 实现过程&解决问题 模块安装 首先,下载xlwt,xlrd和xlut