Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 矢量化标记化法语文本_Python 3.x_Nlp_Spacy - Fatal编程技术网

Python 3.x 矢量化标记化法语文本

Python 3.x 矢量化标记化法语文本,python-3.x,nlp,spacy,Python 3.x,Nlp,Spacy,我已使用Spacy标记化了法语文本,但无法使用TFidfvectoriser进行矢量化 我尝试了这个代码,但它给出了错误 矢量器.fit_变换(data.spacyd) “spacy.tokens.doc.doc”对象没有属性“lower”看起来您正在向矢量器传递一个spacyDocument对象(而不是字符串的iterable)。因此,您需要首先提取每个文档的标记 尝试类似列表理解的方法,首先获取可传递给矢量器的令牌字符串列表(token.text提供空间中令牌的文本): vectorizer

我已使用
Spacy
标记化了
法语文本,但无法使用TFidfvectoriser进行矢量化

我尝试了这个代码,但它给出了错误

矢量器.fit_变换(data.spacyd)


“spacy.tokens.doc.doc”对象没有属性“lower”

看起来您正在向矢量器传递一个spacy
Document
对象(而不是字符串的iterable)。因此,您需要首先提取每个文档的标记

尝试类似列表理解的方法,首先获取可传递给矢量器的令牌字符串列表(
token.text
提供空间中令牌的文本):

vectorizer.fit\u转换([token.text代表data.spacyd中的token])

如果
data.spacyd
中有多个
Document
,则只需对上述内容进行调整,以迭代每个文档即可

from sklearn.feature_extraction.text import TfidfVectorizer

french_text = ["Les astronomes amateurs jouent également un rôle important en recherche", "John Richard Bond explique le rôle de l'astronomie."]

french_token = [x.split() for x in french_text] # i have  just use space for splitting
#assuming your token as 
print(french_token)

[['Les',
'astronomes',
'amateurs',
'jouent',
'également',
'un',
'rôle',
'important',
'en',
'recherche'],
['John', 'Richard', 'Bond', 'explique', 'le', 'rôle', 'de', "l'astronomie."]]
现在对于矢量化部分,标识函数将传递您的令牌,而不会 标记化预处理器并将其传递为None,小写=False

def identity(arg):
    '''
    this function will return same arg
    '''
    return arg

vect = TfidfVectorizer(tokenizer  = identity, preprocessor=None,lowercase = False)
vect.fit_transform(french_token)
def identity(arg):
    '''
    this function will return same arg
    '''
    return arg

vect = TfidfVectorizer(tokenizer  = identity, preprocessor=None,lowercase = False)
vect.fit_transform(french_token)