构建NLP系统

NLP系统,顾名思义,是自然语言处理系统。前面我们已经知道,有许多任务可以使用NLP技术,比如情感分析,对话系统,机器翻译,语音转文字,信息抽取,文本生成等等。现实的应用依赖于数据,然后对这些数据进行分析,分析的任务根据特定的语言又分为词性标注,命名实体识别,词法分析,语法分析。为此,我们需要建立不同的模型,不同模型是想要克服其它模型的弱点而提出的,比如贝叶斯模型为了克服决策树的顺序问题,最大熵模型克服贝叶斯的变量独立问题。在此之后,我们有更多的是为了克服语言的二义性,多义性而提出解决方案。基于统计规则,概率,我们可以获取一些结果。根据针对模型,提出不同的算法,用这模型和算法,去训练人工标注的数据,去应用在未知的数据上。训练集上有正确的数据,而测试集用来测试我们提出的算法的效果。但是并不存在一个通吃的模型,去解决所有不同的任务。即便如此,这并不妨碍NLP系统的构建,概括起来NLP系统通常需要包括的任务有:... [Read More]

Hadoop和Spark

Hadoop主要由HDFS和MapReduce构成,前者是文件系统,后者是框架。Spark主要用于实时流框架。... [Read More]