我们讲的话统称为自然语言,而自然语言分析是基于一组基本的技术,例如分词、句子检测、分类和关系提取。
1.1 什么是NLP
NLP的正式定义通常是这样的:它是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。一个不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。
1.2 为何使用NLP
句子的语义是指它的含义。懂英语的人都明白“Tim hit the ball”这个句子的意思。然而,英语和其他自然语言有时可能是模棱两可的,一个句子的意思可能只取决于它的上下文。我们将会看到,各种各样的机器学习技术可以被用来试图推导出一个文本的含义。
- 搜索:它标识文本的特定元素。它可以像在文档中查找名称一样简单,也可以涉及使用同义词和替换拼写或者误拼来查找接近原始搜索字符串的条目。
- 机器翻译:这通常涉及将一种自然语言翻译成另一种语言。
- 提取摘要:段落、文章、文档或文档集合可能需要提取摘要。NLP已成功地用于这一目的。
- 命名实体识别(NER):这涉及从文本中提取位置、人员和事物的名称。通常,它与其他NLP任务(如处理查询)一起使用。
- 信息分组:这是一个重要的活动,它获取文本数据并创建一组反映文档内容的类别。你可能遇到过许多网站,它们根据你的需要组织数据,并在网站的左侧列出分类。
- 词性(POS)标注:在这个任务中,文本被分成不同的语法元素,例如名词和动词。这对进一步分析文本很有用。
- 情感分析:通过这种方法可以确定人们对电影、书籍和其他产品的感受和态度。这对于提供关于产品的自动反馈是很有用的。
- 回答查询:IBM的Watson在Jeopardy竞赛中获胜时就展示了这种处理方法。然而,它的应用并不局限于赢得比赛,还被应用于医学等许多其他领域。
- 语音识别:人类的语音很难分析。在这一领域取得的许多进展都是NLP努力的结果。
- 自然语言生成(NLG):这是一个从数据或知识来源(如数据库)生成文本的过程。它可以自动报告信息,如天气报告或总结医疗报告。
NLP任务经常使用不同的机器学习技术。一种常见的方法是先训练一个模型来执行一个任务,验证这个模型是正确的,然后将这个模型应用到一个问题上。我们将在1.7节中进一步研究这个过程。
1.3 NLP的难点
- 在字符层面:我们有时需要考虑使用表情符号(字符组合和特殊字符图像)、超链接、重复的标点符号(…或者---)、文件扩展名和内嵌句点的用户名。
- 符号化文本时:我们将文本分解为一系列单词。这些词称为词项(或符号),这个过程称为分词。当一种语言使用空白字符来描述单词时,这个过程并不太难。对于像汉语这样的语言,它可能是相当困难的,因为它使用独特的符号来表示单词。
- 单词和语素可能需要分配词性标签,以确定它是什么类型的单元。语素是文本中最小的有意义的单元,例如前缀和后缀。在处理单词时,我们经常需要考虑同义词、缩写、首字母缩写和拼写。
- 确定词干是另一个可能需要应用的任务。词干分析是找出一个词的词干的过程。例如,单词“walking”、“walked”或“walks”都有词干“walk”。搜索引擎经常使用词干分析来帮助查询。
- 与词干分析密切相关的是词元化。这个过程决定了一个词的基本形式,称为词元。例如,“operating”这个词,它的词干是“oper”,但它的词元是“operate”。词元化是一个比词干分析更精细的过程,它使用词汇和词法技巧来寻找一个词元。在某些情况下,这可以导致更精确的分析。
- 单词被组合成短语和句子。句子检测不像在句末查找句点那么简单。因为许多地方都有句号,包括缩写词“Ms.”和数字如“12.834”。
- 我们经常需要了解句子中的哪些词是名词,哪些是动词。我们经常关心词与词之间的关系。例如,共指消解决定了一个或多个句子中某些单词之间的关系。想想下面这句话:
- “The city is large but beautiful. It fills the entire valley.”
- “it”这个词指代“city”。当一个单词有多个含义时,我们可能需要执行词义消歧(Word-Sense Disambiguation,WSD)来确定其含义,这有时很难做到。例如,“John went back home”中“home”是指房子、城市还是其他地方?它的意思有时可以从使用它的上下文中推断出来。例如,“John went back home. It was situated at the end of a cul-de-sac.”。
尽管存在这些困难,但NLP能够在大多数情况下很好地执行这些任务,并为许多问题域提供附加价值。例如: - 可以对客户的推特进行情感分析,从而为不满的客户提供可能的免费产品。医学文件可以很容易地提取摘要,以突出相关的主题和提高生产力。
- 提取摘要是对不同单元进行简短描述的过程。这些单元可以包括多个句子、段落、一个或多个文档。其目的可能是识别那些传达该单元含义的句子,确定理解该单元的先决条件,或在这些单元中查找条目。通常,文本的上下文对完成这项任务很重要。
网友评论