第二周作业文本分析,文本分类算法( 三 )


词汇规范化词典标准化是文本数据清除过程中的又一步 。总体而言,归一化将高维特征转换为适合任何机器学习模型的低维特征 。出于这里的目的,我们只考虑lemmatization,即一种处理单词以使其根源减少的方法 。合法化合法化是一种处理以下事实的方法:尽管connect,connection,connecting,connected等词并不完全相同,但它们都具有相同的基本含义:connect 。
拼写上的差异在口语中具有语法功能,但是对于机器处理,这些差异可能会造成混淆,因此我们需要一种方法来将所有单词形式的单词connect变成单词connect self 。一种执行此操作的方法称为“ 阻止” 。词干涉及简单地去除容易识别的前缀和后缀,以产生通常是单词最简单的版本 。例如,连接将删除-ion后缀,并正确地减小以连接 。
这种简单的词干通常是需要的,但是词义化(实际上是查看字典中描述的词及其词根(称为lemma))(只要词存在于字典中)更为精确 。由于spaCy包含了将单词分解为引理的内置方法,因此我们可以简单地将其用于引理 。在以下非常简单的示例中,我们将使用它.lemma_为要分析的每个单词产生引理 。词性(POS)标记单词的词性定义了它在句子中的功能 。
例如,名词标识一个对象 。形容词描述一个对象 。动词描述动作 。在句子的上下文中识别和标记每个单词的语音部分称为词性标记或POS标记 。让我们尝试使用POS标记spaCy!我们需要导入其en_core_web_sm模型,因为其中包含进行此分析所需的字典和语法信息 。然后,我们需要做的就是将这个模型加载.load()并遍历我们的新docs变量,使用确定每个单词的词性.pos_ 。
(注意?中u"All is well that ends well."表示该字符串是Unicode字符串 。)spaCy已正确识别出该句子中每个单词的词性 。能够识别词性在各种与NLP相关的上下文中很有用,因为它有助于更准确地理解输入句子并更准确地构建输出响应 。实体检测实体检测,也称为实体识别,是语言处理的一种更高级形式,它可以识别文本输入字符串中的重要元素,例如位置,人物,组织和语言 。
这对于快速从文本中提取信息非常有帮助,因为您可以快速挑选出重要的主题或确定文本的关键部分 。我们将为.label文本中检测到的每个实体获取一个标签,然后使用spaCy的displaCy显示工具以更直观的格式查看这些实体 。使用这种技术,我们可以识别文本中的各种实体 。该spaCy文档提供了受支持的实体类型的完整列表,从上面的简短示例中我们可以看出,它能够识别各种不同的实体类型,包括特定位置(GPE),与日期相关的单词(DATE),重要数字(CARDINAL),特定个人(PERSON)等 。
使用displaCy我们还可以可视化我们的输入文本,每个标识的实体都用颜色突出显示并标记 。我们将style = "ent"用来告诉displaCy我们要在此处可视化实体 。依赖解析独立性分析是一种语言处理技术,它使我们可以通过分析句子的构造来确定各个单词之间的相互关系,从而更好地确定句子的含义 。
例如,考虑句子“比尔掷球” 。我们有两个名词(比尔和球)和一个动词(掷) 。但是我们不能只单独看这些话,否则我们可能最终以为球在扔比尔!为了正确理解句子,我们需要查看单词顺序和句子结构,而不仅仅是单词及其词性 。这样做非常复杂,但值得庆幸的是,spaCy它将为我们完成工作!在下面,让我们spaCy从新闻头条中再加上一句话 。
然后,我们将使用另一个spaCy名为的noun_chunks,它将输入分解为名词和描述它们的单词,并遍历源文本中的每个块,从而识别单词,其词根,其依赖项标识以及它属于哪个块 。该输出可能有点难以理解,但是由于我们已经导入了displaCy可视化工具,因此我们可以使用它来查看依赖关系图,其中使用style = "dep"起来更容易理解:当然,我们还可以查看有关依赖关系解析spaCy的文档,以更好地了解根据解释每个句子的方式可能应用于文本的不同标签 。

推荐阅读