当尝试用西班牙语将csv的单词数超过60000个时,SpaCy无法正确书写某些单词,我理解该模型并非100%准确。但是,我没有找到任何其他解决方案,因为NLTK没有带来西班牙语核心
一位朋友试图用西班牙语问这个问题,但是,与这个社区相比,这个社区相当小,我们没有得到任何答案
代码:
nlp = spacy.load('es_core_news_sm')
def lemmatizer(text):
doc = nlp(text)
return ' '.join([word.lemma_ for word in doc])
df['column'] = df['column'].apply(lambda x: lemmatizer(x))
我试图将我发现错误的某些词进行逻辑化,以证明SpaCy做得不对:
text = 'personas, ideas, cosas'
# translation: persons, ideas, things
print(lemmatizer(text))
# Current output:
personar , ideo , coser
# translation:
personify, ideo, sew
# The expected output should be:
persona, idea, cosa
# translation:
person, idea, thing
你可以使用spacy节。它有spaCy的API和Stanza的模型:
与英语柠檬化器不同,spaCy的西班牙语柠檬化器根本不使用PoS信息。它依赖于屈折动词和引理的查找列表(例如ideo-idear、ideas-idear、idea-idear、ideamos-idear等)。它将只输出列表中的第一个匹配项,而不管其位置如何
实际上,我为spaCy开发了新的基于规则的西班牙语柠檬化器,它考虑了词性和形态信息(如时态、性别、数字)。这些细粒度规则使其比当前的查找柠檬化程序精确得多。很快就要发布了
同时,你也可以使用斯坦福大学的CoreNLP或FreeLing
一个选择是自己制作柠檬汁
这听起来可能很可怕,但不要害怕!做一件事其实很简单
我最近做了一个关于如何制作柠檬化器的教程,链接如下:
https://medium.com/analytics-vidhya/how-to-build-a-lemmatizer-7aeff7a1208c
作为总结,您必须:
在代码中,它如下所示:
很简单,对吧
事实上,简单的柠檬化并不像人们想象的那样需要大量的处理。难点在于词性标注,但这是免费的。无论哪种方式,如果您想自己做标记,您可以看到我制作的另一个教程:
https://medium.com/analytics-vidhya/part-of-speech-tagging-what-when-why-and-how-9d250e634df6
希望你能解决它
相关问题 更多 >
编程相关推荐