1.1 NLP是什么
自然语言处理是使用计算机来分析自然语言,涉及语音处理、关系提取、文档分类和文本总结等领域,而这些分析都是基于分词、句子检测、分类和关系提取等一组具备的技术。其中许多技术都将使用模型,模型类似于一组用于执行任务(例如文本分词)的规则。
NLP的正式定义通常是这样的:它是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。一个不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。
1.2 为什么使用NLP
机器学习和文本分析经常用于增强应用程序的实用性,典型应用领域:
- 搜索:就像google一样,查找接近搜索需求的条码;
- 机器翻译:这通常涉及将一种自然语言翻译成另一种语言。
- 提取摘要:段落、文章、文档或文档集合可能需要提取摘要。NLP已成功地用于这一目的。
- 命名实体识别(NER):这涉及从文本中提取位置、人员和事物的名称。通常,它与其他NLP任务(如处理查询)一起使用。
- 信息分组:这是一个重要的活动,它获取文本数据并创建一组反映文档内容的类别。你可能遇到过许多网站,它们根据你的需要组织数据,并在网站的左侧列出分类。
- 词性(POS)标注:在这个任务中,文本被分成不同的语法元素,例如名词和动词。这对进一步分析文本很有用。
- 情感分析:通过这种方法可以确定人们对电影、书籍和其他产品的感受和态度。这对于提供关于产品的自动反馈是很有用的。
- 回答查询:IBM的Watson在Jeopardy竞赛中获胜时就展示了这种处理方法。然而,它的应用并不局限于赢得比赛,还被应用于医学等许多其他领域。
- 语音识别:人类的语音很难分析。在这一领域取得的许多进展都是NLP努力的结果。
- 自然语言生成(NLG):这是一个从数据或知识来源(如数据库)生成文本的过程。它可以自动报告信息,如天气报告或总结医疗报告。
1.3 为什么NLP这么难
NLP有如下因素使得这一过程变得困难:
- 字符层面:文本使用ASCII、UTF-8等格式编码,还包括表情符号、超链接、重复的标点符号(……或者---)、文件扩展名等,需要通过预处理文本来处理。
- 符号化文本:将文本分解为一系列单词,这些词称为词项目或符号,这个过程称为分词。
- 单词和语素处理:
- 语素是文本中最小的有意义的单元,例如前缀和后缀。在处理单词时,我们经常需要考虑同义词、缩写、首字母缩写和拼写。
- 确定词干是另一个可能需要应用的任务。词干分析是找出一个词的词干的过程。例如,单词“walking”、“walked”或“walks”都有词干walk。搜索引擎经常使用词干分析来帮助查询。
- 词元化:与词干分析密切相关的是词元化。这个过程决定了一个词的基本形式,称为词元。例如,“operating”这个词,它的词干是“oper”,但它的词元是“operate”。
- 单词被组合成短语和句子。句子检测不像在句末查找句点那么简单。因为许多地方都有句号,包括缩写词“Ms.”和数字如“12.834”。
- 我们经常需要了解句子中的哪些词是名词,哪些是动词。我们经常关心词与词之间的关系。例如,共指消解决定了一个或多个句子中某些单词之间的关系。例如,“John went back home”中“home”是指房子、城市还是其他地方?它的意思有时可以从使用它的上下文中推断出来。
网友评论