Nlp 孤立地屏蔽西班牙语单词,以确认它们是;字;在SpaCy&x27;s(或任何)字典

Nlp 孤立地屏蔽西班牙语单词,以确认它们是;字;在SpaCy&x27;s(或任何)字典,nlp,spacy,stemming,lemmatization,Nlp,Spacy,Stemming,Lemmatization,我有一张20000字的单子。我想知道2万个单词中哪一个在某种程度上是“怪异的”。这是文本清理任务的一部分 Albóndiga很好,huticotai不是我知道的西班牙语单词。。。两者都不是56%$3estapa 这意味着我必须将被拒绝/变位的词语与真实的来源进行单独比较。每个人都推荐SpaCy。好的 然而,不知何故,使用下面的代码和一个包含几十个单词的测试文件,spaCy认为它们都是“根”单词。我是卡斯特拉诺,萨布拉斯·奎阿西诺。 从技术上讲,我不想把任何东西柠檬化!我想阻止这些话我只想把20k

我有一张20000字的单子。我想知道2万个单词中哪一个在某种程度上是“怪异的”。这是文本清理任务的一部分

Albóndiga
很好,
huticotai
不是我知道的西班牙语单词。。。两者都不是
56%$3estapa

这意味着我必须将被拒绝/变位的词语与真实的来源进行单独比较。每个人都推荐SpaCy。好的

然而,不知何故,使用下面的代码和一个包含几十个单词的测试文件,spaCy认为它们都是“根”单词。我是卡斯特拉诺,萨布拉斯·奎阿西诺。 从技术上讲,我不想把任何东西柠檬化!我想阻止这些话我只想把20k长的单词表与我作为一名西班牙语语言学家可以看到的东西配对,以确定到底发生了什么疯狂的desmadre(B.S.)。

以下是我获得的输出示例:

  • 名词词根
  • 名词词根
  • 名词词根
  • suscribíos名词词根suscribío
  • mezcal调整根mezcal
  • 动词词根marivent
  • 名词根倒置器
  • 动词词根
显然,“stenger”不是一个西班牙语单词,尽管斯帕西天真地认为它是。Mezcal是一个名词(也是一个非常好的时间)。你明白了

这是我的密码:

import spacy
nlp = spacy.load("es_core_news_sm")

new_lst = []
with open("vocabu_suse.txt", 'r') as lst:
    for i in lst:
        # print(i)
        new_lst.append(i.strip())

for i in new_lst:
    j = nlp(i)
    for token in j:
        print(token.text, token.pos_, token.dep_, token.lemma_)

我很困惑你在这里想做什么。说清楚,我的理解是,你的主要目标是找出你列表中的哪些词不是垃圾词,你尝试使用柠檬化来检查它们,而柠檬化的结果似乎是错误的

这意味着我必须将被拒绝/变位的词语与真实的来源进行单独比较。每个人都推荐SpaCy。好的

spaCy对于很多NLP任务来说都很好,但是处理没有上下文的单词列表并不是它的本意,我认为它在这里对你没有多大帮助

寻找真实的词语 为了解决你的主要问题

首先,要找出哪些词不是垃圾词,你可以使用你信任的词表或相对正常的大型语料库

如果您没有信任的单词列表,您可以查看单词是否在spaCy模型的vocab中。spaCy的语音可以包含垃圾词,但由于它们是由频率构建的,所以只能包含常见错误。这也可能有帮助

要检查单词在空间中是否有单词向量,可以使用中型或大型模型

如果你想使用语料库,可以使用你拥有的语料库、维基百科或其他东西,并丢弃低于某个字数阈值的单词。(我理解屈折变化让这变得更加困难,但如果语料库足够大,你应该仍然能够找到一些频率较高的真实单词。)

关于根 根标记是依赖项标记,而不是word表单的标记。在句子的依存分析中,词根通常是主要动词。在一个单词的句子中,这个单词总是词根

我想您需要
标记
属性,它是一个详细的特定于语言的POS标记。
pos\uu
属性是为多语言应用程序设计的粗粒度标记

关于柠檬化 我不明白这种说法

从技术上讲,我不想把任何东西柠檬化!我想阻止这些话

柠檬化几乎总是比词干化好。“词干分析”通常是指基于规则的过程,它基于标记模式工作,因此对于您的特定问题,它根本帮不了您——它只会告诉您单词是否有共同的词尾或其他什么。你可以用“asdfores”这样的词,词干分析器会很高兴地告诉你这是“asdfore”的复数形式。Lemmatizers通常基于已经检查过的单词数据库,因此它更接近您需要的内容

无论哪种情况,spaCy都不会进行词干分析