You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用pysentiment2的tokenize方法返回字母而非单词的解决办法

问题解决:Tokenize返回单词而非单个字母

错误原因

原代码中[lm.tokenize(t) for t in texts]是在遍历字符串texts的每个单个字符,每个t都是单个字母,调用lm.tokenize(t)自然只会返回单个字母的tokens。

修改后的代码

import pysentiment2 as ps
import pandas as pd
import matplotlib.pyplot as plt

texts = 'why it return letter instead of words'

# 初始化LM词典的分词器
lm = ps.LM()
# 直接对整个文本进行分词,而非遍历单个字符
tokens = lm.tokenize(texts)
# 计算情感极性
sentiment = lm.get_score(tokens)['Polarity']
print(tokens)
print(sentiment)

关键修改点

  • 移除遍历单个字符的列表推导,直接将完整文本传入lm.tokenize()方法,就能得到以单词为单位的tokens。
  • 由于tokens是单个文档的分词结果,无需再用列表推导计算情感,直接调用lm.get_score(tokens)即可。

内容的提问来源于stack exchange,提问作者Nguyen h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:03:15