使用 Gensim(Python) 提取二元组时出现类型错误

德米特里

我想使用 Gensim 提取和打印二元组。为此,我在 GoogleColab 中使用了该代码:

import gensim.downloader as api
from gensim.models import Word2Vec
from gensim.corpora import WikiCorpus, Dictionary
from gensim.models import Phrases
from gensim.models.phrases import Phraser
from collections import Counter

data = api.load("text8") # wikipedia corpus
bigram = Phrases(data, min_count=3, threshold=10)


cntr = Counter()
for key in bigram.vocab.keys():
  if len(key.split('_')) > 1:
    cntr[key] += bigram.vocab[key]

for key, counts in cntr.most_common(50):
  print(key, " - ", counts)

但是有一个错误:

类型错误

然后我尝试了这个:

cntr = Counter()
for key in bigram.vocab.keys():
  if len(key.split(b'_')) > 1:
    cntr[key] += bigram.vocab[key]

for key, counts in cntr.most_common(50):
  print(key, " - ", counts)

接着:

再次

怎么了?

凯撒
 bigram_token  = list(bigram.vocab.keys())
 type(bigram_token[0])

 #op
 bytes

将其转换为字符串,它会在您的代码中解决问题,就在拆分时

cntr = Counter()
for key in bigram.vocab.keys():
    if len(key.decode('utf-8').split(b'_')) > 1: # here added .decode('utf-8')
       cntr[key] += bigram.vocab[key]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用NLTK生成二元组

使用三元运算符时出现“表达式必须具有整数类型”错误

如何使用现有本体从XML文件提取RDF三元组?

为什么对元组类型的提取器使用的理解会导致在`filter`上出现编译警告?

如何使用整洁的文本使用二元和三字组

在word2vec Gensim中获取二元组和三元组

某个列表中出现一个二元组的次数

在Python 3.6中使用列表推导来遍历并比较两个句子的依赖三元组时的语法错误

尝试使用rdf_save将单个rdf三元组保存到文件时抛出错误

使用geograpy(Python)从文本中提取城市时出现错误

使用Matplotlib绘制二元高斯

如何使用Sparql使用特定谓词提取RDF三元组

有关使用邮递员二元身体时图像变成什么的问题

从二元概率计算三元组概率

错误:使用Python进行迭代时出现无类型错误

jQuery的:选择时的选择器是相同的使用所述第二元件:当量

使用二分搜索的三元组和

Cogrouped 第二元组 CompactBuffer 中的迭代

根据 PEP8 指南,使用二元运算符断行时出现缩进错误

如何使用二元变量构建逻辑回归模型?

从列表和字典生成二元组

使用二元组创建共现矩阵

绘制与二元组相关的频率

使用二元运算符“--”作为向量

使用二元交叉熵时输入和输出形状不匹配 | Keras tf 自编码器

匹配任何二元组的模式

使用回溯逃离二元迷宫时的 Python 最短距离

计算二元组和差异的 PMI

使用 pandas 从 csv 文件中提取数据时出现错误