如何用nltk写出一个西班牙语单词表?

2024-04-29 14:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

如何用nltk snowballstemer把下面列表中的所有西班牙语单词都词尾?。我就是这么想的:

# coding=utf-8


from sklearn.feature_extraction.text import CountVectorizer
import nltk.stem

vectorizer= CountVectorizer(min_df=1)

opinion = ["""
Hola compis!
No sabÌa como se ponÌa una lavadora hasta que conocÌ
esta y es que es muy sencilla de utilizar! Todo un gustazo
cuando estamos aprendiendo para emanciparnos, que si nos
ponen facilidad con las tareas de la casa pues mejor que mejor.


Antes de esta tenÌamos otra de la marca Otsein, de estas
que van incluidas en el mobiliario y adem·s era de carga superior,
pero tan antigua que seg˙n mi madre, nadie la podÌa tocar porque
solo la entendÌa ella.
Esta es de la marca Aeg y dentro de este tipo de lavadoras de
esta marca las habÌa m·s caras o m·s baratas y est· digamos que
est· en el punto medio. Es de color blanco y tiene carga frontal,
 con una capacidad de 6kg. En casa a pesar de ser cuatro,
 se ponen lavadoras casi todos o todos los dÌas.


En su parte de arriba encontramos la ";zona de mandos";,
donde se puede echar el detergente, aunque en nuestro caso
lo al ser gel lo ponemos directamente junto con la ropa.
Luego tiene la rueda para elegir el programa y los intermitentes
que indican en que paso del programa estaba.
Como todas tiene programas m·s cortos y m·s largos, incluso
un programa que seria como lavar a mano y otro ideal para
estores, que salen casi secos y planchaditos para colgar y
ya est·. Es muy f·cil de aprenderla y adem·s tiene indicador
por sonido de cuando acaba, lista para abrir y tender.
Saludillos!
"""]

spanish_stemmer = nltk.stem.SnowballStemmer('spanish')
print "\n these are the stems of opinion",
opinion = [[spanish_stemmer(word) for word in sentence.split(" ")]for sentence in opinion]

这个过程的问题是以下这是输出:

Traceback (most recent call last):
 these are the stems of opinion
  File "/Users/user/PycharmProjects/untitled/prueba stem.py", line 47, in <module>
    opinion = [[spanish_stemmer(word) for word in sentence.split(" ")]for sentence in opinion]
TypeError: 'SnowballStemmer' object is not callable

如何返回给定列表(opinion)的茎列表?如何将完整的意见小写?


Tags: in列表fordeelsentencelaword
2条回答

尝试将最后一行改为:

...
opinion = [[spanish_stemmer.stem(word) for word in sentence.split(" ")]for sentence in opinion]
...
>>> from nltk import word_tokenize
>>> from nltk.stem import SnowballStemmer
>>> stemmer = SnowballStemmer('spanish')
>>> 
>>> stemmer.stem('cuando')
u'cuand'
>>> stemmer.stem('apprenderla')
u'apprend'
>>> 
>>> text = 'En su parte de arriba encontramos la ";zona de mandos";, donde se puede echar el detergente, aunque en nuestro caso lo al ser gel lo ponemos directamente junto con la ropa.'
>>> stemmed_text = [stemmer.stem(i) for i in word_tokenize(text)]
>>> stemmed_text
[u'en', u'su', u'part', u'de', u'arrib', u'encontr', u'la', u'``', u';', u'zon', u'de', u'mand', u"''", u';', u',', u'dond', u'se', u'pued', u'echar', u'el', u'detergent', u',', u'aunqu', u'en', u'nuestr', u'cas', u'lo', u'al', u'ser', u'gel', u'lo', u'pon', u'direct', u'junt', u'con', u'la', u'rop', u'.']

相关问题 更多 >