Я хочу передать более одного параметра для выполнения лемматизации, например 'глагол', 'нет', используя textblob
вот мой код, который я взял отсюда: https://www.machinelearningplus.com/nlp/lemmatization-examples-python/
Мой вопрос заключается в том, как я могу изменить свой код, чтобы передать как 'глагол', так и 'none' функции
def lemm_text(text):
text = str(text)
sent = TextBlob(text)
tag_dict = {"J": 'a',
"N": 'n',
"V": 'v',
"R": 'r'}
words_and_tags = [(w, tag_dict.get(pos[0], 'n')) for w, pos in sent.tags]
lemmatized_list = [wd.lemmatize(tag) for wd, tag in words_and_tags]
return " ".join(lemmatized_list)
data_words_nostops = map(lemm_text, data_words_nostops)
list(data_words_nostops)
Я пытался передать или кортеж, но это не сработало, и Я получил ниже ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-35-1fd4bee599c2> in <module>
----> 1 list(data_words_nostops)
<ipython-input-30-062f187cdad0> in lemm_text(text)
7 "R": 'r'}
8 words_and_tags = [(w, tag_dict.get(pos[0], ['n','v'])) for w, pos in sent.tags]
----> 9 lemmatized_list = [wd.lemmatize(tag) for wd, tag in words_and_tags]
10 return " ".join(lemmatized_list)
<ipython-input-30-062f187cdad0> in <listcomp>(.0)
7 "R": 'r'}
8 words_and_tags = [(w, tag_dict.get(pos[0], ['n','v'])) for w, pos in sent.tags]
----> 9 lemmatized_list = [wd.lemmatize(tag) for wd, tag in words_and_tags]
10 return " ".join(lemmatized_list)
C:\ProgramData\Anaconda3\lib\site-packages\textblob\decorators.py in decorated(*args, **kwargs)
33 def decorated(*args, **kwargs):
34 try:
---> 35 return func(*args, **kwargs)
36 except LookupError as err:
37 print(err)
C:\ProgramData\Anaconda3\lib\site-packages\textblob\blob.py in lemmatize(self, pos)
145 if pos is None:
146 tag = _wordnet.NOUN
--> 147 elif pos in _wordnet._FILEMAP.keys():
148 tag = pos
149 else:
TypeError: unhashable type: 'list'