什么是机器学习,机器学习分类( 五 )


这对于快速从文本中提取信息非常有帮助 , 因为您可以快速挑选出重要的主题或确定文本的关键部分 。我们将为.label文本中检测到的每个实体获取一个标签 , 然后使用spaCy的displaCy显示工具以更直观的格式查看这些实体 。使用这种技术 , 我们可以识别文本中的各种实体 。该spaCy文档提供了受支持的实体类型的完整列表 , 从上面的简短示例中我们可以看出 , 它能够识别各种不同的实体类型 , 包括特定位置(GPE) , 与日期相关的单词(DATE) , 重要数字(CARDINAL) , 特定个人(PERSON)等 。
使用displaCy我们还可以可视化我们的输入文本 , 每个标识的实体都用颜色突出显示并标记 。我们将style = "ent"用来告诉displaCy我们要在此处可视化实体 。依赖解析独立性分析是一种语言处理技术 , 它使我们可以通过分析句子的构造来确定各个单词之间的相互关系 , 从而更好地确定句子的含义 。
例如 , 考虑句子“比尔掷球” 。我们有两个名词(比尔和球)和一个动词(掷) 。但是我们不能只单独看这些话 , 否则我们可能最终以为球在扔比尔!为了正确理解句子 , 我们需要查看单词顺序和句子结构 , 而不仅仅是单词及其词性 。这样做非常复杂 , 但值得庆幸的是 , spaCy它将为我们完成工作!在下面 , 让我们spaCy从新闻头条中再加上一句话 。
然后 , 我们将使用另一个spaCy名为的noun_chunks , 它将输入分解为名词和描述它们的单词 , 并遍历源文本中的每个块 , 从而识别单词 , 其词根 , 其依赖项标识以及它属于哪个块 。该输出可能有点难以理解 , 但是由于我们已经导入了displaCy可视化工具 , 因此我们可以使用它来查看依赖关系图 , 其中使用style = "dep"起来更容易理解:当然 , 我们还可以查看有关依赖关系解析spaCy的文档 , 以更好地了解根据解释每个句子的方式可能应用于文本的不同标签 。
词向量表示当我们单看单词时 , 机器很难理解人类会立即理解的联系 。例如 , 引擎和汽车似乎有一个明显的连接(汽车使用引擎运行) , 但是这种连接对计算机而言并不那么明显 。值得庆幸的是 , 有一种方法可以表示可以捕获更多此类连接的单词 。甲字矢量是commuicates其换句话说关系的词的数字表示 。每个单词都被解释为唯一且冗长的数字数组 。
您可以将这些数字视为GPS坐标之类的东西 。GPS坐标由两个数字(纬度和经度)组成 , 如果我们看到两组GPS坐标在数字上彼此接近(如43--70和44--70) , 我们会知道这两个位置相对紧靠在一起 。词矢量与此类似 , 虽然有很多分配给每个单词超过两个坐标 , 所以他们对人类眼球更难 。使用spaCy的en_core_web_sm模型 , 让我们看一个单词的向量长度 , 以及使用.vector和看起来的向量.shape 。
人们无法观察到该数组并将其识别为“芒果”的含义 , 但是以这种方式表示该单词对机器而言效果很好 , 因为它使我们能够代表该单词的含义及其与其他相似单词的“接近度”使用数组中的坐标 。文字分类现在 , 我们已经看了一些spaCy一般可以完成的很酷的事情 , 让我们看一下这些自然语言处理技术中的一些更大的实际应用:文本分类 。
通常 , 我们可能会发现自己想要根据一些参数(例如 , 每个片段的主题)进行分类的一组文本数据 , 而文本分类将帮助我们做到这一点 。下图显示了在对文本进行分类时我们想要做什么的全景视图 。首先 , 我们从源文本(及其附带的任何标签或元数据)中提取所需的功能 , 然后将清理后的数据馈送到为我们进行分类的机器学习算法中 。导入库我们将从导入此任务所需的库开始 。