什么是自然语言处理的重要应用也可以说是最基础的应用
现在,请允许我来为大家详细解释一下什么是自然语言处理的重要应用也可以说是最基础的应用的问题,希望我的回答能够帮助到大家。关于什么是自然语言处理的重要应用也可以说是最基础的应用的讨论,我们正式开始。
文章目录列表:
什么是自然语言处理的重要应用也可以说是最基础的应用
“文本分类”是自然语言处理的重要应用,也可以说是最基础的应用。
自然语言处理,英文Natural Language Processing,简写NLP。NLP这个概念本身过于庞大,可以把它分成“自然语言”和“处理”两部分。先来看自然语言。区分于计算机语言,自然语言是人类发展过程中形成的一种信息交流的方式,包括口语及书面语,反映了人类的思维,都是以自然语言的形式表达。
现在 上所有的语种语言,都属于自然语言,包括汉语、英语、法语等。然后再来看“处理”。如果只是人工处理的话,那原本就有专门的语言学来研究,也没必要特地强调“自然”。因此,这个“处理”必须是计算机处理的。但计算机毕竟不是人,无法像人一样处理文本,需要有自己的处理方式。
因此自然语言处理,简单来说即是计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。正如机械解放人类的双手一样,自然语言处理的目的在于用计算机代替人工来处理大规模的自然语言信息。它是人工智能、计算机科学、信息工程的交叉领域,涉及统计学、语言学等的知识。由于语言是人类思维的证明,故自然语言处理是人工智能的最高境界,被誉为“人工智能皇冠上的明珠”。
这是我在留学期间选修的课程 :natura language process。 这篇文章主要是为了大致的梳理这门课上的知识点,方便日后复习。因此,语言处理的主体对象是English。
简单来说,语言模型就是一个对于不同单词出现概率的统计。
然而,对于英语来说,每个单词可能有不同的时态和单复数等形态变化。因此,在做统计前,需要先对原始数据进行预处理和归一化。
分割句子后,每句话应该作为一个元素单独存储。
一般来说,常用的是 unigram, bigram 和trigram, 即以1-3 个词作为一个对象来统计。n 越大, 统计结果也越稀疏。一个七八个词的组合重复出现的概率,显然远低于2-3个词的组合。 另一方面,根据马尔科夫链, 一个单词的出现,可以认为仅跟前一个词有关系,所以也没有太大必要追求过大的n。
n-gram 是一个重要的基础概念, 它所提供的概率分析可以做到很多事情, 例如机器翻译“请给我打电话”:P(“please call me”) > P("please call I ")。 又比如拼写纠正:基于概率, “its 5pm now” → 纠正为 “it's 5pm now”
没有比较就没有伤害。 对于语言模型的评估, 也需要有一个比较的对象。因此,要用两种方法建立不同的语言模型(当然也可以对比前人的工作成果)。显然,任意给一个测试用的句子,如果在某一模型中的出现概率都比较大,那么这个模型显然更好。 具体来说, 评估方法有两种:
首个单词问题 :对于一个基于bigram或trigram的模型,在计算一个句子的perplexity时,前1或2个单词需要不能直接得到,依赖于句子开头的标识符。也即是说,在训练 n-gram 模型时, 对于每个句子,分别在开头和结尾填充n-1个<s>。从而保证在计算perplexity的时候能够正确地从 个单词开始计算。这也是为什么前面 sentence segmentation 的时候要将句子区别存储的原因。
显然,无论用来生成LM的corpus多么庞大,总会有些单词没有被包含其中(称为out of ocabulary, OOV)。 解决方法有两种, 一是实现设定一个固定的字典,在训练LM过程中,所有不在字典中的单词 转换成 token <UNK>, 另一种是将LM中出现 率小于n次的单词当作 <UNK>,剩下的作为字典。 根据字典对测试数据做相同操作,就可以避免OOV的问题。
在处理完OOV问题后,还有一个问题需要处理:所有单词都在字典中,但是单词的组合并没有在LM中出现这一情况。 此时就需要对基于bigram或trigram的LM进行smooth操作,规避这一问题。Smoothing过程有1点需要注意,就是smooth之后的模型,其所有概率加起来,必须仍然为1。常见的smoothing方法有:
特别的,工程上最适合的应该是 stupid backoff algorithm, 这一算法并不确保整体概率为1。仅仅是在回退时乘以系数0.4计算。即如果trigram没有找到,就使用0.4×P(bigram), 如果bigram还是没找到, 就是要 0.4×0.4×P(unigram)。由于OOV问题已解决,所以对于任意一个词,必然能计算出其概率。
相关阅读: Large Language Models in Machine Translation
今天关于“什么是自然语言处理的重要应用也可以说是最基础的应用”的讨论就到这里了。希望通过今天的讲解,您能对这个主题有更深入的理解。如果您有任何问题或需要进一步的信息,请随时告诉我。我将竭诚为您服务。