TextData = pd.read_excel('train.xlsx', header=None, usecols=[1]) TextData.columns = ['label'] TextData['texts'] = pd.read_excel('train.xlsx', header=None, usecols=[0]) # 读入测试数据 TextDataTest = pd.read_excel('test.xlsx', header=None, usecols=[1]) TextDataTest.columns = ['label'] TextDataTest['texts'] = pd.read_excel('test.xlsx', header=None, usecols=[0]) # 设置计数器,用jieba.cut对句子进行分词,并用Vocab构建词表 counter = Counter() for (label, texts) in TextData.values: counter.update(jieba.cut(texts)) min_freq = 1 # 设置最小频次 vocab = Vocab(counter, min_freq=min_freq) print(vocab['我'])出现Vocab.__init__() got an unexpected keyword argument 'min_freq'错误怎么改
时间: 2024-01-28 18:04:04 浏览: 127
import-data-to-excel-from-gridview.rar_Csharp Excel_excel_gridvi
这个错误可能是因为你使用的`torchtext`版本不支持`min_freq`参数。在早期版本的`torchtext`中,确实没有`min_freq`参数,需要使用其他方式来设置最小频次。
一种可行的解决方案是在构建`counter`对象时,将频率小于`min_freq`的词语忽略掉,如下所示:
```
from collections import Counter
import jieba
from torchtext.vocab import Vocab
TextData = pd.read_excel('train.xlsx', header=None, usecols=[1])
TextData.columns = ['label']
TextData['texts'] = pd.read_excel('train.xlsx', header=None, usecols=[0])
# 设置计数器,用jieba.cut对句子进行分词,并用Vocab构建词表
min_freq = 1 # 设置最小频次
counter = Counter(word for (label, texts) in TextData.values for word in jieba.cut(texts) if counter[word] >= min_freq)
vocab = Vocab(counter)
print(vocab['我'])
```
请尝试使用这个代码片段来解决你的问题。
阅读全文