
神经网络
|
147
编码和测试设计
从整体上讲,我们将要做的事情是完成以下两个类,来解析《圣经》文本并训练一个
神经网络:
Language
这个类将解析《圣经》文本,并计算字符出现的频率。
Network
这个类将采用语言训练数据,并建立一个神经网络,计算新的输入文本最可能属
于哪一种语言(见图
8-14
)。
《圣经》译文
的章节
训练数据 英语
类
类
Network
类
图 8-14:将文本分类到语言的类示意图
在对这个神经网络进行测试时,主要是测试输入到
theanets
包的数据流,我们将使用
交叉验证来完成。我们将设定验收的阈值作为单元测试,并使用它进行测试。
数据
训练数据取自
biblegateway.com
网站。为了得到完善的数据清单,我已经下载了《使
徒行传》和《马太福音》的英文、波兰文、德文、芬兰文、瑞典文和挪威文的文本。
我用来下载数据的脚本是用
Ruby
编写的,我觉得在此处写出这个脚本并没有太大意
义。如果你愿意,可以随时到
https://github.com/thoughtfulml/examples-in-python
上查
看这个
Ruby
脚本。
编写语言接缝测试
要读取这些训练数据,需要构建一个类来解析原始数据,并与神经网络接合。为此,