类型错误:lemmatize() 缺少 3 个必需的位置参数:"索引"、"异常"和'rules'



我现在正在处理文本数据,并对其进行预处理(我正在处理法语数据文本(。

到目前为止,这是我的代码:

df = pd.read_csv('file.csv', sep=';')
from nltk.corpus import stopwords
import re
from nltk.tokenize import RegexpTokenizer
from spacy.lang.fr import French

stop_words = set(stopwords.words('french'))
tokenizer = nltk.tokenize.RegexpTokenizer(r'w+')
lemmatizer = French.Defaults.create_lemmatizer()

def clean_text(text):
text = text.lower()  
text = tokenizer.tokenize(text)
text = [word for word in text if not word in stop_words]
text = [lemmatizer.lemmatize(word) for word in text]
final_text = ' '.join( [w for w in text if len(w)>2] ) 
return final_text
df['comms_clean'] = df['comms'].apply(lambda x : clean_text(x))

但我得到了这个错误:

TypeError: lemmatize() missing 3 required positional arguments: 'index', 'exceptions', and 'rules'

我习惯于使用英语数据,所以这是我第一次使用这种软件包,所以我很失落。我该怎么办才能解决这个问题?

您显示的错误告诉您,当您调用它时,这些参数丢失了,所以您需要它们来调用方法lemmatize(),但您只传递了一个:lemmatize(string=word)

这里有官方文件:https://spacy.io/api/lemmatizer#_title

这里有lemmatizer对象的实现,您可以在其中找到lemmatize方法:https://github.com/explosion/spaCy/blob/master/spacy/lemmatizer.py

def lemmatize(self, string, index, exceptions, rules):

相关内容

  • 没有找到相关文章

最新更新