gpt4 book ai didi

python - 如何在列表中运行我的标记器函数 - 模块对象不可调用?

转载 作者:行者123 更新时间:2023-12-01 08:42:26 24 4
gpt4 key购买 nike

任务:在下面的代码单元格中编写代码,对路透社语料库中的 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"])

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

如果有人帮助,进一步进展:

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"])

尽管我的最后一行仍然有问题。类型错误:“模块”对象不可调用。我已经用谷歌搜索过,但仍然不完全确定问题是什么。 pandas 已经导入了吗?

我现在意识到我输入了 nltk.tokenize 而不是 word_tokenize 时遇到了一个愚蠢的错误。

最佳答案

利用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"])

关于python - 如何在列表中运行我的标记器函数 - 模块对象不可调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53450425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com