在这篇文章中,我将展示如何运用自然语言处理技术(NLP),从产品评论中提取关键词(方面)。这一过程主要目的是模仿亚马逊的评论处理方式。例如,在下图中,您可以看到根据给定产品的评论,提取关键词,然后允许用户通过这些关键词搜索评论。
在我们开始讨论关键词提取之前,先了解一下自然语言处理(NLP)是什么。
NLP是一种让计算机能够理解人类语言的技术。计算机很容易理解编程语言,但如何确保计算机能够理解人类的语言呢?为了更好地理解NLP,我们需要了解其主要任务。
分词:人类可以阅读和理解语言,因为我们能够识别给定文档中的单词、句子和段落。大多数NLP框架可以让计算机理解文本中的哪些部分是单词、句子或段落。
词性标注:另一个语言理解的特点是人类可以识别语言中的语法成分。例如,我们可以很容易地识别出一个句子中的动词、名词或代词等。NLP框架可以帮助计算机识别文本中每个单词的语法功能。
依存关系分析:当我们查看任何句子时,不仅能够识别语法成分,还能识别它们是如何相互关联的。比如主语和宾语之间的关系,以及名词短语是如何与其他短语相关的。NLP工具包也能够完成这项工作。
共指解析:人类可以轻松理解代词与句子中不同语法成分的关系。例如,在文中,“莫迪批评反对党使用双重标准。他今天在议会提出了这一指控。”我们知道第二句中的“他”指的是莫迪。通过NLP框架,可以构建规则来识别文本中哪个代词指的是哪个名词或名词短语。
命名实体识别:我们自然能够判断一个句子中的单词是指一个人、一个地点、一个日期还是公司实体等。即使我们之前从未见过这个词,我们仍然可以合理地猜测它指的是哪个实体。例如,在“康科迪亚宣布向股东派发3000万美元股息。”这句话中,虽然我们可能不知道“康科迪亚”是什么,但我们仍然可以推断它是一个公司。NLP框架也可以帮助计算机理解给定单词所指的实体。
为了模仿亚马逊的做法,我将展示如何从评论中提取关键词。这里我们主要依赖基于规则的方法,利用评论的语法结构。这种方法的假设是,一般的评论是按照语法规则编写的。我们将使用的语法规则是:
“删除常用词汇后,文本中最常见的名词会揭示文本的关键信息(方面)。”
要在产品评论数据库中实施此规则,需要进行以下预处理步骤: 1. 提取单词标记 2. 删除常用词汇 3. 提取所有名词 4. 找出最常出现的五个名词,它们将成为关键词
我使用Spacy来完成NLP管道。
以下是我编写的一个功能,用于从特定产品的评论中提取关键词。这些评论是由班加罗尔Jigsaw学院的学生团队收集的。(https://www.jigsawacademy.com/)
一旦能够从产品评论中识别关键词,就可以尝试构建基于关键词的搜索,甚至可以进行情感分析。基于关键词的情感分析可以帮助我们了解人们对产品的不同方面的感受。例如,人们通常会对手机的电池寿命感兴趣。