Когда я использую TF-IDF в обработке естественного языка, он говорит, что список не может быть вызван. Можете ли вы помочь мне с этим? - PullRequest
0 голосов
/ 03 мая 2020

Я получил такую ​​ошибку:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-38-b9ac626e6121> in <module>
      5 
      6 # Fitting TF-IDF to both training and test sets (semi-supervised learning)
----> 7 tfv.fit(list(xtrain) + list(xvalid))
      8 xtrain_tfv =  tfv.transform(xtrain)
      9 xvalid_tfv = tfv.transform(xvalid)

TypeError: 'list' object is not callable

Когда я запускаю эти коды в python:

tfv = TfidfVectorizer(min_df=3,  max_features=None, 
            strip_accents='unicode', analyzer='word',token_pattern=r'\w{1,}',
            ngram_range=(1, 3), use_idf=1,smooth_idf=1,sublinear_tf=1,
            stop_words = 'english')

# Fitting TF-IDF to both training and test sets (semi-supervised learning)
tfv.fit(list(xtrain) + list(xvalid))
xtrain_tfv =  tfv.transform(xtrain) 
xvalid_tfv = tfv.transform(xvalid)

PS Я также пытался преобразовать xtrain в список с помощью xtrain.tolist(), но у меня это тоже не работает.

1 Ответ

0 голосов
/ 03 мая 2020

Из предоставленного вами кода ничего не кажется неправильным. Тем не менее, я предполагаю, что где-то перед этим блоком кода вы присвоили объект имени переменной list (скорее всего, что-то вроде list = [...]), что обычно является причиной этой ошибки.

Попробуйте найти эту строку кода, если она существует, и переименуйте эту переменную. По этой причине не рекомендуется переименовывать встроенные типы. Для получения дополнительной информации прочитайте это

...