Spacy - 将令牌类型转换为列表

Nai*_*dak 3 list token python-3.x spacy

在输入类型的 spacy 中执行操作后,我得到的元素很少 -

li = ['India', 'Australia', 'Brazil']
for i in li:
    print(type(i))
Run Code Online (Sandbox Code Playgroud)

输出:

<class 'spacy.tokens.token.Token'>

<class 'spacy.tokens.token.Token'>

<class 'spacy.tokens.token.Token'>

我想让列表中的所有元素都使用 str 类型进行迭代。预期输出 -

li = ['India', 'Australia', 'Brazil']
for i in li:
    print(type(i))
Run Code Online (Sandbox Code Playgroud)

输出

<class 'str'>

<class 'str'>

<class 'str'>

请建议一些优化的方式..

bha*_*arc 6

Spacy Token 有一个名为text. 这是一个完整的例子:

import spacy
nlp = spacy.load('en_core_web_sm')
t = (u"India Australia Brazil")
li = nlp(t)
for i in li:
    print(i.text)
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望令牌列表作为字符串列表:

list_of_strings  = [i.text for i in li]
Run Code Online (Sandbox Code Playgroud)