SuperAPI AI 工具集

alterlab-text-as-data

数据与分析

查看项目

更新于 10-15 19:56

技能介绍

用途:把文本语料转换为可测量的数据,方法选择取决于推断目标。

主要能力:

  • 发现(涌现主题):BERTopic(v0.17)使用嵌入与基于类别的 TF-IDF;经典词袋法可用 sklearn 的 LDA/NMF 或 gensim 的 LdaModel。
  • 主题质量:用 gensim 的 CoherenceModel(coherence="c_v")评估一致性,K 值应结合一致性而非仅困惑度选择。
  • 测量概念表达量:使用经验证的词典/词汇表计数,并报告信度,与人工编码对照验证。
  • 句向量与相似度:SentenceTransformer(v6,如 all-MiniLM-L6-v2)编码后聚类或余弦比较。
  • 预测文档标签:TfidfVectorizer 配合 sklearn 分类器,报告留出集 F1 而非样本内拟合。
  • 语言特征:spaCy(v3)加载 en_core_web_sm 处理词性与实体。

必要用法:BERTopic 可写 BERTopic().fit_transform(docs) 后调用 get_topic_info()、get_topic(0),并可经 embedding_model=SentenceTransformer("all-MiniLM-L6-v2")、vectorizer_model=CountVectorizer(min_df=10) 配置;sklearn LDA 为 LatentDirichletAllocation(n_components=k).fit(CountVectorizer().fit_transform(docs));gensim 为 LdaModel(corpus, num_topics=k, id2word=dictionary);一致性计算为 CoherenceModel(model=lda, texts=tok, dictionary=d, coherence="c_v").get_coherence();spaCy 为 nlp = spacy.load("en_core_web_sm"); doc = nlp(text)。

可靠性纪律:主题模型具有随机性,单次运行不算结果。需跨随机种子重复运行,跨运行对齐主题(如匈牙利匹配)并评估稳定性(top-word 重叠、RBO),报告原型解。尽可能固定 random_state(sklearn LDA 与 BERTopic 的 UMAP),但仍需报告不同种子下的稳定性。词典或主题若用作概念的测量工具,必须对人工编码做验证(精确率/召回率或相关性)。

输出模板:目标、方法及匹配理由、模型与 K 值选择、可靠性(种子数、稳定性、c_v、确定性设置)、验证(与人工编码一致性)、声称范围(限于语料/抽样)。

适用场景:语料主题建模、概念表达测量、文档嵌入聚类与比较、文本分类。

限制:不适用训练/微调 transformer(转 alterlab-transformers)、人文细读与标注(转 alterlab-digital-humanities)、方法是否适配问题的上游设计路由(转 alterlab-ssci-design-gate)、纯表格统计(转 alterlab-statistical-analysis)。脚本 scripts/text_method_router.py 与 references/text_stack.md 提供方法路由、预处理与主题可靠性流程。