python 自然语言处理 形态学

下面将包含以下的主题:词干提取器、词性还原、

一、形态学简介

形态学可以定义为在语素的帮助下对标识符的构成进行研究,语素是承载含义的基本语言单位。语素有两种类型:词根和词缀。

词根也被称之为自由语素,他们可以在不添加词缀的情况下而存在,比如unbelievable,这里的believe被称为词根,这里的un

和able被称为词缀

二、理解词干提取器

词干提取被定义为一个通过除单词中的词缀以获取词干的过程。以单词raining为例,词干提取器通过从raining中去除词缀来返回词根rain。

有几种返回词干提取器的方法:PorterStemmer()、LancasterStemmer()、RegexpStemmer()、SnowballStemmer()

import nltk
from nltk.stem import PorterStemmer
stemmerporter = PorterStemmer()
print(stemmerporter.stem('working'))
print(stemmerporter.stem('happiness'))

import nltk
from nltk.stem import LancasterStemmer
stemmerlan=LancasterStemmer()
print(stemmerlan.stem('working'))
print(stemmerlan.stem('happiness'))

import nltk
from nltk.stem import RegexpStemmer
stemmerregexp=RegexpStemmer('ing')
print(stemmerregexp.stem('working'))
print(stemmerregexp.stem('happiness'))
print(stemmerregexp.stem('pairing'))

import nltk
from nltk.stem import SnowballStemmer
print(SnowballStemmer.languages)
spanishstemmer=SnowballStemmer('spanish')
print(spanishstemmer.stem('comiendo'))
frenchstemmer=SnowballStemmer('french')
print(frenchstemmer.stem('manger'))

三、理解词型还原

import nltk
from nltk.stem import WordNetLemmatizer
lemmatizer_output=WordNetLemmatizer()
print(lemmatizer_output.lemmatize('working'))
print(lemmatizer_output.lemmatize('working',pos='v'))
print(lemmatizer_output.lemmatize('works'))

#词干还原和词型还原的区别

import nltk
from nltk.stem import PorterStemmer
from nltk.stem import WordNetLemmatizer
stemmer_output=PorterStemmer()
print(stemmer_output.stem('happiness'))
lemmatizer_output=WordNetLemmatizer()
print(lemmatizer_output.lemmatize('happiness'))

四、为非英文语言开发词干提取器

Polyglot是一个提供被称作morfessor模型的软件,该模型用于从标识符中获取语素。在Polyglot的词汇帮助下,已经使用了涉及不同语言的50000个标识符的morfessor模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值