【发布时间】:2019-11-28 17:07:29
【问题描述】:
我正在使用 spacy 词形还原和解析句子列表。数据包含在一个 excel 文件中。
我想写一个函数,让我返回句子的不同引理。
例如只返回带有特定标签(“VERB”或“VERB”+“ADJ”)的引理
这是我的代码:
import spacy
from spacy.lang.fr import French
from spacy_lefff import LefffLemmatizer, POSTagger
nlp = spacy.load("fr_core_news_sm")
nlp=spacy.load('fr')
parser = French()
path = 'Gold.xlsx'
my_sheet ="Gold"
df = read_excel(path, sheet_name= my_sheet)
def tokenizeTexte(sample):
tokens = parser(sample)
lemmas = []
for tok in tokens:
lemmas.append((tok.lemma_.lower(), tok.tag_, tok.pos_))
tokens = lemmas
tokens = [tok for tok in tokens if tok not in stopwords]
return tokens
df['Preprocess_verbatim'] = df.apply(lambda row:tokenizeTexte(row['verbatim']), axis=1)
print(df)
df.to_excel('output.xlsx')
我希望能够返回所有带有例如“verb”或“adj”或“adv”标签的引理,然后修改以返回所有引理。
我还希望返回不同的引理组合(“PRON”+““VERB”+“ADJ”)
我怎样才能用 spacy 做到这一点?
这是我用我的代码得到的
id ... Preprocess_verbatim
0 463 ... [(ce, , ), (concept, , ), (résoudre, , ), (que...
1 2647 ... [(alors, , ), (ça, , ), (vouloir, , ), (dire, ...
2 5391 ... [(ça, , ), (ne, , ), (changer, , ), (rien, , )...
3 1120 ... [(sur, , ), (le, , ), (station, , ), (de, , ),
tok.tag和tok.pos没有出现,你知道为什么吗?
我的文件:
我的数据示例:
id verbatim
14 L'économe originellement est donc celui qui a la responsabilité, pour des personnes d'une maison, d'une unité d'organisation donnée .
25 De leur donner des rations de ressources au temps opportun.
56 Contrairement à l'idée qu'on se fait l'économe n'est pas axé sur le capital, c'est-à-dire sur l'action de capitaliser, mais sur les individus d'une unité organisation, c'est-à-dire sur l'action de partager, de redistribuer d'une façon juste et opportune des ressources aux différents membre
【问题讨论】:
-
如果您有minimal reproducible example,会更容易提供帮助。这样,别人就可以将您的代码复制并粘贴到他们的编辑器中。
-
@JeffTilton 我添加了我的数据示例
标签: python pandas lambda token spacy