python - 如何在列表中运行我的标记器函数 - 模块对象不可调用?
问题描述
任务:在下面的代码单元中,编写代码以对路透社语料库中的 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 个具有相同语料库信息的列表,我想将我的函数应用到所述列表中,尽管我想不出任何方法可以让我应用函数而不是字符串等。我应该只是复制和粘贴我的标记器作为字符串,我相信会有更好的方法来做到这一点。对于第二个选项,我怀疑我是否需要 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"])
虽然我的最后一行仍然有问题。TypeError:“模块”对象不可调用。我已经用谷歌搜索了它,但仍然不能完全确定问题是什么。熊猫已经进口了?
我现在意识到我在输入 nltk.tokenize 而不是 word_tokenize 时遇到了一个愚蠢的错误。
解决方案
使用地图():
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"])
推荐阅读
- apostrophe-cms - 使用撇号模式创建联系表时使用 pikaday datepicker
- php - Laravel 检查 foreach 中的集合中是否存在属性
- reactjs - 在 next.js 中,错误:对象作为 React 子项无效(找到:带有键 {} 的对象)
- kubernetes - 创建角色以查看集群事件
- c++ - 如何在函数中使用主变量?
- java - java DateTimeFormatter 错误?
- r - blogdown 中的 New_post 不会生成 Rmarkdown 文件
- salesforce - 尝试使用 eclipse 调试需求软件管道代码时出错
- reactjs - 反应传单显示为覆盖
- javascript - 按共同日期汇总对象数组中的数据