如何在列表中运行我的tokeniser函数-模块对象不可调用



任务:在下面的代码单元中,编写代码,在路透社语料库中的10个句子样本上运行NLTK_Tokenise和您自己的Tokenise函数。

我已经写了以下代码:

import pandas as pd
sample_size=10
r_list=[]
for sentence in rcr.sample_raw_sents(sample_size):
r_list.append(sentence)
my_list = r_list
????
my_list=[i.split(tokenise) for i in my_list]
r_list=[i.split(nltk.tokenize) for i in r_list]    
pd.DataFrame(list(zip(my_list,r_list)),columns=["MINE","NLTK"])  

我也考虑过(从刚刚过去的"????"(:

my_list = [i.split() for i in my_list]
r_list = [i.split() for i in r_list]
tok = tokenise(my_list)
cortok = nltk.tokenize(r_list)
pd.DataFrame(list(zip(tok,cortok)),columns=["MINE","NLTK"])

现在我有两个具有相同语料库信息的列表,我想将我的函数应用于所述列表,尽管我无法找到任何允许我应用函数而不是字符串等的方法;将我的标记粘贴为字符串,我相信有更好的方法可以做到这一点。对于第二个选项,我怀疑我是否需要两个单独的列表,并且可以标记一个列表并将其附加到新变量。

如果有人帮忙,还有进一步的进展:

import pandas as pd
sample_size=10
r_list=[]
for sentence in rcr.sample_raw_sents(sample_size):
r_list.append(sentence)
new_list = [i.split()[0] for i in r_list]
tok = tokenise(new_list)
cortok = nltk.tokenize(new_list)
pd.DataFrame(list(zip(tok,cortok)),columns=["MINE","NLTK"])  

我想我想做的是将列表分成不同的变量,然后制作一个大小为10(sample_size(的DataFrame。虽然我不知道如何将长度列表拆分为不同的变量,除非我真的去1,2,3,4,。。。,10独立。

所以我有了更进一步的进步,我意识到我将不得不使用map((:

import pandas as pd
sample_size=10
r_list=[]
for sentence in rcr.sample_raw_sents(sample_size):
r_list.append(sentence)
tok = map(tokenise,r_list)
cortok = map(nltk.tokenize,r_list)
pd.DataFrame(list(zip(tok,cortok)),columns=["MINE","NLTK"])

尽管我的最后一句台词还是有问题。TypeError:"module"对象不可调用。我在谷歌上搜索了一下,但仍然不完全确定问题出在哪里。熊猫已经进口了?

我现在意识到我输入nltk.tokesize而不是word_tokesize时出现了一个愚蠢的错误。

使用map((:

from nltk.tokenize import word_tokenize
import pandas as pd
sample_size=10
r_list=[]
for sentence in rcr.sample_raw_sents(sample_size):
r_list.append(sentence)
tok = map(tokenise,r_list)
cortok = map(word_tokenize,r_list)
pd.DataFrame(list(zip_longest(tok,cortok)),columns=["MINE", "NLTK"])

最新更新