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

如何获取TextBlob中带Polarity Score的完整词表或词典?

TextBlob内置极性分数词表获取方式

TextBlob默认的极性分数计算基于Pattern库的规则情感词典,没有单独对外公开的在线词表页,所有词条和对应分数都存在本地安装包的内置文件里,直接从本地提取就能拿到完整列表:

  • 前置准备:先确保你已经完成TextBlob的语料和依赖安装,执行命令:
    python -m textblob.download_corpora

  • 方法1:代码直接导出结构化词典
    直接调用内置分析器的lexicon属性就能拿到已经解析好的完整词典对象,不需要手动解析文件,示例代码:

    from textblob.en.sentiment import PatternAnalyzer
    
    # 初始化默认的Pattern情感分析器
    analyzer = PatternAnalyzer()
    # lexicon即为完整词表:key为单词,value为(极性分数, 主观性分数, 词性信息)的三元组
    # 下面的推导式直接提取纯单词-极性分数的映射字典
    polarity_lexicon = {word: score[0] for word, score in analyzer.lexicon.items()}
    

    上述代码得到的polarity_lexicon就是目标词表,总共有约2900个带标注词条,覆盖日常情感分析常用的形容词、副词、动词、名词。

  • 方法2:直接读取原始词典源文件
    如果你需要原始标注文件,可以运行以下代码快速定位文件路径:

    import os
    import textblob.en.sentiment as sent_module
    print(os.path.join(os.path.dirname(sent_module.__file__), "en-sentiment.xml"))
    

    执行后输出的路径就是完整的极性词典源文件,为XML格式,每个<word>标签的form属性是单词本身,polarity属性就是对应的极性分数,同时还附带主观性标注、词性标注等额外信息。

注意:如果你切换使用了NaiveBayesAnalyzer作为情感分析器,是拿不到固定极性词表的——这个分析器是基于电影评论语料训练的朴素贝叶斯分类模型,不存在显式的「词-固定极性分数」映射规则,只有默认的PatternAnalyzer是基于固定词典做规则匹配,能提取到完整的带分数词表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:09:28