我想知道是否有一种方法可以以字符串的形式使用tokenizer(s).to_array("LOWERCASE"),而不是使用uint8格式。
from spacy.lang.en import English
from spacy.tokenizer import Tokenizer
s = "Lets pray for the people that can be the victim of the possible eruption of Taal Volcano keep safe everyone."
# Create nlp obj
nlp =
目前,我正试图使用spacy来训练文本分类器,我遇到了以下问题:使用spacy.blank('en')创建空白模型与使用经过预先训练的模型spacy.load('en_core_web_sm')有什么区别。为了了解我编写的代码的不同之处:
text = "hello everyone, it's a wonderful day today"
nlp1 = spacy.load('en_core_web_sm')
for token in nlp1(text):
print(token.text, token.le
问题
我试着用把复数词单数化。
但是,我无法修正将复数转换为单数作为复合词的错误。
我怎样才能得到像下面这样的首选输出?
cute dog
two or three word
the christmas day
发展环境
Python 3.9.1
错误
print(str(nlp(word).lemma_))
AttributeError: 'spacy.tokens.doc.Doc' object has no attribute 'lemma_'
代码
import spacy
nlp = spacy.load("en_core_web_sm
在我用向量作为递归神经网络的输入后,我用spacy将句子中的每个单词替换成一个数字/代码。
import spacy
str="basing based base"
sp = spacy.load('en_core_web_sm')
sentence=sp(str)
for w in sentence:
print(w.text,w.lemma)
在第一层神经网络中有角点,嵌入层中,我要知道查表中的最大单词数,有人知道这个数字吗?谢谢
我无法使spaCy lemmatization起作用,它总是返回空字符串。
import spacy
from spacy.lang.en import English
nlp = English()
text = "I went to the bank today for checking my bank balance."
doc = nlp(text)
这只返回空字符串:
for token in doc:
print(token.lemma_)
系统信息:
Windows 10 Pro 64bits
Python 3.8.8
spacy
我正在尝试提取句子列表中包含术语"mais“的句子,但打印结果(有它的句子和没有它的句子)显示的数据比实际总数要少。通常,提取和未提取的列表应该与原始文件中的句子总数相对应,但在我的例子中,不是这样的。
import spacy.attrs
from spacy.attrs import POS
import spacy
from spacy import displacy
from spacy.lang.fr import French
from spacy.tokenizer import Tokenizer
from spacy.util import compile_prefi
我正在执行一个数据提取用例。为了对我的数据进行预处理和标记,我同时使用了spacy英语和德语标记器,因为句子都是用这两种语言的。这是我的密码:
import spacy
from spacy.lang.de import German
from spacy.lang.en import English
from spacy.lang.de import STOP_WORDS as stp_wrds_de
from spacy.lang.en.stop_words import STOP_WORDS as stp_wrds_en
import string
punctuations = str
假设我有一个文本,并想要检查它是否包含一些复合短语,其中我还想包括各自的单词可能不会直接被彼此跟随的情况。
例如,假设您想检查一条文本是否与消防队员有关,那么这样的文本
text = "currently there are over 4000 people involved in fighting the rapidly growing fires in Australia"
也会产生积极的结果。(我实际上想把它应用到德语中,那里的例子可能不那么人工)
我在NLP方面没有专业知识,所以也许有一些聪明的方法可以做到这一点,而我只是不知道该搜索哪个词是正确的。当然,如果文本不太大
我正在做以下几件事:
from spacy.lang.nb import Norwegian
nlp = Norwegian()
doc = nlp(u'Jeg heter Marianne Borgen og jeg er ordføreren i Oslo.')
for token in doc:
print(token.text, token.lemma_, token.pos_, token.tag_, token.dep_,token.shape_, token.is_alpha, token.is_stop)
Lemmatization似乎根本不起作用,因为
我有一篇德文,我想用柠檬化来形容。如果柠檬化是不可能的,那么我也可以忍受堵塞。
数据:这是我的德文文本:
mails=['Hallo. Ich spielte am frühen Morgen und ging dann zu einem Freund. Auf Wiedersehen', 'Guten Tag Ich mochte Bälle und will etwas kaufen. Tschüss']
目标:应用柠檬化后的应该看起来类似于以下内容:
mails_lemma=['Hallo. Ich spielen am früh Morgen u
我面临着检测命名实体的问题,它以小写字母开头。我已经尝试过在链接上提供的解决方案。好像对我没用。
关于=====的spaCy=============信息
spaCy version 2.1.4
Platform Darwin-16.7.0-x86_64-i386-64bit
Python version 3.6.5
Models en
import spacy
from spacy import displacy
nlp = spacy.load('en_core_web_sm')
sk = nlp.vocab[u'sou
使用空格时,您可以轻松地循环遍历文本的noun_phrases,如下所示:
S='This is an example sentence that should include several parts and also make clear that studying Natural language Processing is not difficult'
nlp = spacy.load('en_core_web_sm')
doc = nlp(S)
[chunk.text for chunk in doc.noun_chunks]
# = ['
我想使用SpaCy的狐猴作为一个独立的组件(因为我有预先标记的文本,而且我不想重新连接它并运行完整的管道,因为在某些情况下,SpaCy很可能会以不同的方式标记)。
我在包中找到了狐猴,但不知何故,我需要用规则加载字典来初始化这个Lemmatizer。这些文件一定在英德模式的某个地方,对吧?我在那里找不到他们。
from spacy.lemmatizer import Lemmatizer
where do the LEMMA_INDEX, etc. files are comming from?
lemmatizer = Lemmatizer(LEMMA_INDEX, LEMMA_EXC, L
我使用scattertext来解析xlsx中的文档,但我使用的是非英语语言,我很乐意添加词汇化和标记化。我只在spaCy上检查过,它可以工作,但我不知道如何将它集成到我的散点图中。
import pandas as pd
import spacy
import pl_core_news_sm
nlp = spacy.load("pl_core_news_sm")
#nlp = pl_core_news_sm.load()
import scattertext as st
from pprint import pprint
from spacy.lang.pl.stop_w
我试图指定一个可以排除某些结果的模式。给出这篇文章:The Territory for the Titles shall be the United States, its territories and possessions, excluding Puerto Rico,我正在寻找一种只提取the United States的方法,因为它是一个GPE,并且不被排除。
我试着写一个像[{'LEMMA': 'exclude', 'OP': '!'}, {'ENT_TYPE': 'GPE', '
我正在使用Spacy柠檬化作为预处理文本。
doc = 'ups'
for i in nlp(doc):
print(i.lemma_)
>> up
我明白为什么spacy移除“s”,但对我来说很重要的是,在这种情况下,它不会做到这一点。是否有方法向spacy添加特定规则,或者是否必须使用流程外的If语句(这是我不想做的事情)
当我运行以下代码下载英文模型时,我按照上的说明使用蟒蛇安装了spaCy
python -m spacy download en
我得到以下错误。
/anaconda3/bin/python: No module named spacy.__main__; 'spacy' is a package and cannot be directly executed
与nltk相比,我之所以选择spacy来处理各种文本,是因为它的引理性能。但是当我处理数以百万计的短文本时,它总是消耗掉我所有的内存(32G)并崩溃。没有它,只要几分钟和不到10克米被消耗。
这种方法的使用有什么问题吗?是否有更好的解决方案来提高性能?谢谢!
def tokenizer(text):
try:
tokens = [ word for sent in sent_tokenize(text) for word in word_tokenize(sent)]
tokens = list(filter(lambda t: t.lower() no