Python 使用spacy进行词性标注和词形还原

您所在的位置:网站首页 提示是什么词性的词语 Python 使用spacy进行词性标注和词形还原

Python 使用spacy进行词性标注和词形还原

2024-07-12 22:25| 来源: 网络整理| 查看: 265

Python 使用spacy进行词性标注和词形还原

Python是理解机器学习和深度学习的概念和应用的重要工具。它提供了许多库和模块,可以构建有用的技术。在本文中,我们将讨论一个名为“spaCy”的开源库。

spaCy 是一个开源库,用于分析和比较文本数据。在深入讨论该库之前,让我们快速浏览本文的概述和行程。

本文分为两个部分:

在第一部分中,我们将了解 spaCy 的重要性,并讨论词性标注和词形还原的概念。

第二部分将重点介绍spaCy的应用以及词性标记和词形还原的使用。

spaCy是什么

spaCy是一个用于深度学习的开源库,由自然语言处理(NLP)管理。NLP本身是人工智能的一个概念领域,它为机器提供了人类语言的意义,为人机交互铺平了道路。通过spaCy,我们可以对大规模的数据进行处理,并为机器提取含义。

spaCy使用Cython编写,并提供交互式API。

安装

使用“pip”安装spaCy。

pip install spacy

安装完成后,我们可以在IDE中导入它,并通过传递正确的命名约定来加载pipeline包。我们将使用词性标注和词形还原。

en_core_web_sm

这种命名规范决定了我们想要的流水线软件包的类型。“ en ”决定了语言,“ core ”决定了功能,“ web ”决定了类型,“ sm ”决定了大小。

因此,这个规范加载了一个以英语为语言的软件包,其能力是词性标注和词形还原,其训练数据是网络文本。

什么是词性标注

词性标注是一种将文本数据中的单词分类的技术。我们可以分析每个单词,理解它的上下文和涵义。我们可以语法地检查一个句子并描述其结构。

它还包括未知的单词并修改词汇。传入的数据集本身被深度分析。我们可以检查一个单词是动词、名词、代词、介词等的哪一部分。

什么是词形还原

词形还原是将不同版本的术语或单词组合在一起的技术,这些术语或单词是相同的词。它是自然语言处理的重要工具,用于对句子中的屈折词进行分类。

我们可以形态上分析句子并针对具有屈折结尾的单词进行处理,从而将它们去除。词形还原的整个逻辑是为屈折词汇收集基本词汇。

示例

我们将使用spaCy构建一个程序,以分离不同的句子成分。首先,我们将使用词性标注并查看其功能:

在这里:

我们在命令提示符上安装了spacy并导入了它。

我们创建了一个名为“load_capabilites”的变量,它将初始化“NLP”。我们加载了一个特定的软件包,即“en_core_web_sm”。

我们传入文本数据进行分析。

我们创建了一个名为“Anadata”的变量。

此Anadata将存储从文本数据中提取的所有单词,以供spaCy分析。

我们将对每个单词进行迭代,并使用“word.pos_”来为所有单词执行词性标注。

import spacy load_capabilites = spacy.load("en_core_web_sm") data_text = """Python programming can be used to perform numerous mathematical operations and provide solutions for different problems. Python is a very powerful language as it offers multiple modules and methods that are tailor made to perform various operations""" Anadata = load_capabilites(data_text) for word in Anadata: print(word, word.pos_) 输出 Python PROPN programming NOUN can AUX be AUX used VERB to PART perform VERB numerous ADJ mathematical ADJ operations NOUN and CCONJ provide VERB solutions NOUN for ADP different ADJ problems NOUN . PUNCT SPACE Python PROPN is AUX a DET very ADV powerful ADJ language NOUN as SCONJ it PRON offers VERB multiple ADJ modules NOUN and CCONJ methods NOUN that PRON are AUX tailor AUX made VERB to PART perform VERB various ADJ operations NOUN

这里,每个标签都代表一些意义,例如,“ PROPN ” 代表专有名词,“ PUNC ” 代表标点符号。 “ ADJ ” 代表形容词。

示例

我们甚至可以选择单个标签并将它们单独打印出来。

import spacy load_capabilites = spacy.load("en_core_web_sm") data_text = """Python programming can be used to perform numerous mathematical operations and provide solutions for different problems. Python is a very powerful language as it offers multiple modules and methods that are tailor made to perform various operations""" visdata = load_capabilites(data_text) for word in visdata: pass print("Ajectives:", [word.text for word in visdata if word.pos_ == "ADJ" ]) 输出 Ajectives: ['numerous', 'mathematical', 'different', 'powerful', 'multiple', 'various'] 示例

现在我们已经了解了词性标注的工作原理,让我们来了解词形还原的功能。

import spacy load_capabilites = spacy.load("en_core_web_sm") data_text = """Python programming can be used to perform numerous mathematical operations and provide solutions for different problems. Python is a very powerful language as it offers multiple modules and methods that are tailor made to perform various operations""" visdata = load_capabilites(data_text) for word in visdata: print(word, word.lemma_) 输出 Python Python programming programming can can be be used use to to perform perform numerous numerous mathematical mathematical operations operation and and provide provide solutions solution for for different different problems problem . . Python Python is be a a very very powerful powerful language language as as it it offers offer multiple multiple modules module and and methods method that that are be tailor tailor made make to to perform perform various various operations operation

在这里,我们使用“lemma_”进行词形还原。所有的屈折词都以其基本形式打印出来,现在我们可以将这些词添加到外部词典中,以增强本地词汇。

结论

在本文中,我们介绍了词性标注和词形还原的基本概念,并了解了它在深度学习中的重要性。我们还讨论了在自然语言处理中使用spaCy库的各种应用及其作用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3