mcpField
M
media-analyzer

media-analyzer

github.com/moonlight-lupin生产力113125 次安装1 天前更新
代码仓库

关于 media-analyzer

用于分析新闻、评论等媒体文本修辞手法的工作流和脚本,不对文本贴政治立场标签。它帮助分析者识别可观察信号、区分脚本结果与依赖语境的判断,并生成结构化报告。

主要功能

  1. 01扫描情绪化措辞与情感诉求
  2. 02提取并分类引述来源
  3. 03衡量修辞信号强度
  4. 04指导核查遗漏背景与证据
  5. 05生成结构化分析报告

适用场景

  1. 01检查新闻报道的措辞选择
  2. 02梳理新闻稿引用的来源类型
  3. 03调查评论文章遗漏的背景
  4. 04起草中立的媒体分析报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/moonlight-lupin/agent-skills --skill media-analyzer

安装后在 Claude Code 中输入/media-analyzer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
neutrality-rules.md
technique-catalog.md
scripts/
analyze.py
templates/
analysis-report.md
tests/
test_analyze.py

详细介绍

媒体分析器

概述

媒体分析器是一套侧重技巧的工作流,用于以批判但中立的视角阅读新闻文章、评论文章、新闻稿和其他媒体内容。媒体文本往往会运用修辞手法来塑造认知:带有强烈情绪色彩的动词、选择性统计数据、消息来源的组合、框架隐喻、遗漏、情感诉求,以及对证据的不成比例呈现。这项技能会系统地识别这些可观察到的技巧,但不会判定哪种政治立场才正确。

当目标是理解文本如何引导解读时,请使用这项技能。不要用它来将媒体机构、作者或文章标记为左翼、右翼、保守派、自由派、支持 X 或反对 Y。输出是一份结构化分析报告,展示技巧的使用情况,并将结论留给读者。

核心原则:识别技巧,而非立场

核心规则是:识别技巧,而非立场。

绝不要将消息来源标记为“左翼”“右翼”“保守派”“自由派”或“偏向 X”。相反,应识别具体的修辞工具:

  • 带有倾向性的词语及其中性替代词;
  • 引用或遗漏的消息来源类型;
  • 引用的统计数据和未引用但相关的数据;
  • 隐喻、命名方式、预设或带有倾向性的问题等框架手法;
  • 情感诉求模式;
  • 证据权重不相等的立场之间的虚假平衡。

有效的发现是:“文章在前四段中使用了三个高强度动词。”无效的发现是:“文章对该政策有偏见。”分析应保持可观察、具体,并在政治方向上保持中立。

快速开始

在此技能目录中:

python scripts/analyze.py scan --input article.md

保存扫描输出并生成报告:

python scripts/analyze.py scan --input article.md --output analysis.json
python scripts/analyze.py report --scan analysis.json --output report.md

查看带有倾向性语言词典:

python scripts/analyze.py wordlist --format table

完成标准:报告列出检测到的技巧信号,指出仍需进行背景研究的部分,将偏差信号范围解释为仅表示强度,并避免使用政治方向标签。

7 类技巧

1. 带有倾向性的语言

定义: 用带有强烈情绪色彩的动词、形容词、名词或修饰语替代中性措辞,引导读者的反应。

检测标准: 将用词与中性替代词进行比较。思考是否可以用情绪色彩较弱的措辞报道同一事实事件。

示例:

  • “猛烈抨击”与“回应”;
  • “灾难性的”与“重大的”;
  • “痛批”与“批评”。

脚本支持: scripts/analyze.py 会根据内置词表统计带有倾向性的词语,该词表包含攻击性动词、情绪化形容词、贬斥性词语和框架词。每个检测到的实例都会附带段落上下文和中性替代词。

2. 选择性取材

定义: 仅引用支持某个论点的数据、示例或时间段,同时遗漏现成可得的限定性或冲突性数据。

检测标准: 将引用的统计数据与该主题的现有数据进行比较。检查时间范围、基准、修订、不确定性和有代表性的对照组。

示例:

  • 引用某个月的销售增长,却遗漏全年下滑;
  • 突出某所学校的成绩,却不与整个学区进行比较;
  • 报道单个调查问题,却遗漏完整的调查背景。

脚本支持: 该脚本不会核实是否存在选择性取材。可用它扫描文章,然后使用网页搜索工具和网页内容提取工具查找原始数据,并将现有数据与文中引用的数据进行比较。

3. 来源选择偏差

定义: 当话题涉及某一机构类型或视角之外的相关观点时,却只引用或转述来自该类型或视角的来源。

检测标准: 按机构类型统计并分类被引用或标明出处的来源:官方、专家、公众、组织或未知。然后评估来源构成是否符合话题。

示例:

  • 一篇交通文章只引用交通机构官员,没有引用乘客或独立规划人员;
  • 一篇职场文章只引用管理层,没有引用员工或外部劳工专家;
  • 一篇产品安全报道只引用制造商,没有引用监管机构或客户。

脚本支持: scripts/analyze.py 会提取归因模式,例如“据 X 称”“X 表示”“X 说”以及引号内陈述后附带的出处。它会根据关键词对来源提及进行分类。

4. 框定

定义: 通过命名、隐喻、顺序、标题措辞、预设或提问结构来引导读者解读信息。

检测标准: 识别隐喻、预设、带有倾向性的问题和命名选择等框定手法。

示例:

  • “优化规模”将裁员框定为纠正规模错误;
  • “游戏产业”与“赌博产业”用不同的命名框架描述相同的企业;
  • “精简流程”预设现有流程效率低下;
  • “这项计划为何失败?”在证明计划失败之前就预设了失败。

脚本支持: 脚本可以统计可能体现框定手法的问题和带有倾向性的词语。框定判断需要分析人员或 LLM 审阅。

5. 遗漏

定义: 省略相关背景信息,导致读者对文章的理解发生变化。

检测标准: 检查是否缺少相关主题、基准、时间段、限定条件或一手来源背景。

示例:

  • 只列出事件数量,却没有提供基准发生率;
  • 只列出预算变化,却没有根据通货膨胀调整背景;
  • 只列出研究结果,却没有提供样本量或局限性。

脚本支持: 脚本无法判断缺少了哪些信息。请使用网络搜索工具,查找可用背景、一手来源、时间线和限定条件。

6. 情绪诉求

定义: 诉诸恐惧、愤怒、怜悯、怒火、紧迫感或权威,可能影响读者的反应,或取代证据。

检测标准: 识别情绪操纵模式,并将其强度与所提供的证据进行比较。

示例:

  • 用“想想孩子们”来终结辩论;
  • 在没有说明规模或可能性的情况下,使用“灾难”等煽动恐惧的措辞;
  • 反复使用丑闻相关词语来煽动愤怒,却没有提供与之相称的证据。

脚本支持: scripts/analyze.py 会检测恐惧词语、愤怒词语、怜悯诉求、诉诸权威的表达和紧迫感措辞。

7. 虚假平衡

定义: 将证据力度不相等的观点呈现为同等有力。

检测标准: 比较对多数和少数观点的着墨程度,包括来源的专业水平、证据质量和共识程度。

示例: 如果 97% 的相关科学家支持 X,而 3% 支持 Y,文章却给予双方同等篇幅,也没有解释证据上的差距。

脚本支持: 来源数量可以提示篇幅分配模式,但分析虚假平衡需要结合背景研究来评估证据力度。

四阶段流程

1. 提取

将文章文本提取为 Markdown 或纯文本。识别标题、作者、发表日期、来源 URL(如有)、引用的来源、直接引语和可见统计数据。

完成标准:文章文本已保存在本地,并已记录来源元数据(如有)。

2. 扫描

运行基于规则的分析:

python scripts/analyze.py scan --input article.md --output analysis.json

扫描会报告:

  • 已加载的语言数量及其实例;
  • 来源提及提取结果及来源类型计数;
  • 情绪诉求模式;
  • 段落数、平均句长、疑问句和感叹号;
  • 技巧计数强度分数。

完成标准:analysis.json 存在,且包含文章的词数、技巧计数和偏差信号谱分数。

3. 补充背景

针对脚本无法了解的内容,开展背景研究:

  • 选择性取材: 使用网络搜索查找一手数据集、较长时间序列、修订记录和独立摘要。
  • 遗漏: 搜索相关基线、注意事项、事件历史以及缺失的受影响群体。
  • 虚假平衡: 比较证据权重、来源专业度和共识程度。
  • 框架: 审阅标题、导语、内容顺序、命名选择和预设问题。

完成标准:分析人员能够说明核查了哪些相关背景,以及是否发现、未发现或无法确定存在背景缺失。

4. 报告

生成报告草稿:

python scripts/analyze.py report --scan analysis.json --output report.md

然后根据背景研究填写依赖背景信息的部分。手动撰写报告时,请使用 templates/analysis-report.md。

完成标准:最终报告包含具体实例、偏差信号谱,以及根据研究填写内容或标记为“未检测到/背景信息不足”的“缺失内容”部分。

输出格式

报告应遵循以下结构:

# Media Analysis Report

## Source: [title or filename]

## Overview
- Word count: N
- Techniques detected: N
- Bias-signal spectrum: [Neutral/Slight lean/Clear lean/Partisan]
- Spectrum note: intensity of observable rhetorical and source-selection signals; not ideology or political direction.

## Techniques Detected

### 1. Loaded Language (N instances)
- "slammed" (para 3) — neutral alternative: "responded"
- "devastating" (para 7) — neutral alternative: "significant"

### 2. Source Selection (N sources)
- Official: 2, Expert: 1, Citizen: 1, Organization: 0, Unknown: 0
- [Any source-type concentration noted]

### 3. Emotional Appeals (N instances)
- Fear-based: 1
- Appeal to authority: 1

## Bias-Signal Spectrum
Neutral ──── Slight lean ──── Clear lean ──── Partisan ──── Propaganda
              ↑ here

This spectrum rates the density and intensity of observable rhetorical tools, framing choices, and source-selection signals. It does not label the outlet, author, article, or political position.

## What's Missing
[Contextual research findings: relevant context omitted, not detected, or uncertain]

## Notes
- Analysis detects techniques, not political positions
- Intensity rating reflects density of rhetorical tools, not direction of bias

偏差信号谱

将该谱用作可观察偏差信号的强度刻度,而非政治标签:

Neutral ──── Slight lean ──── Clear lean ──── Partisan ──── Propaganda

该分数评估修辞技巧、框架选择、来源选择模式及其他可观察信号的密度和强度。它不表示文章倾向于哪个方向。脚本只会统计中性稿件中不常见的信号——常规新闻报道不得因此得分:

  • 命中任何带倾向性措辞 → 1 个信号;
  • 单一视角的来源(3 个或更多来源,且全部属于同一类型)→ 1 个信号——单纯注明来源不计入;
  • 不同的情绪诉求模式 → 最多 2 个信号(设有上限,因此仅靠词表堆积无法达到“党派化”);
  • 2 个或更多修辞性问题 → 1 个信号(单个问题很常见);
  • 出现任何感叹号 → 1 个信号(严肃新闻稿中很少见)。

信号总数对应以下标签:

  • 0 个信号 → 中性;
  • 1-2 个信号 → 轻微倾向;
  • 3-4 个信号 → 明显倾向;
  • 5+ 个信号 → 党派化。

“宣传”一词仅用于经过人工审查的特殊案例:这类案例中,技巧使用密集且相互配合,并有强有力的证据表明信息准确性从属于说服目的。不要随意使用该词。

中立性规则

关键规则:

  • 切勿标注政治方向:左/右、保守/自由、支持 X/反对 Y。
  • 描述技巧,而非立场。
  • 将发现作为观察结果呈现,而非评判。
  • 报告本身应使用中性措辞;分析文章时也应遵循同一标准。
  • 若未检测到某项技巧,请写“未检测到”或“背景信息不足”;不要编造。
  • 在进行解读前,先引用文章内容或注明背景证据。
  • 将脚本输出视为信号,而非意图证明。

完整检查清单请参阅 references/neutrality-rules.md。

与相关技能的集成

  • 事实核查器: 核实文章中的事实主张和统计数据。Media Analyzer 用于识别技巧使用情况;它不判定内容真伪。
  • 来源追踪器: 记录文章 URL、一手数据、背景来源和访问日期,以便重复分析。
  • 深入研究: 调查被遗漏的背景、证据权重、共识程度及更广泛的来源版图。

常见误区

  1. 给立场贴标签,而不是识别技巧。 将“倾向于 X”改为具体观察,例如“所有被引用的消息来源都是官员”。
  2. 混淆强烈观点与宣传。 评论文章可以措辞强烈,同时不使用高密度的操纵技巧。
  3. 把所有情绪化语言都视为操纵。 关注人类影响的报道可以合理地包含情绪;应评估其是否适度,以及是否有证据支持。
  4. 让分析者自身的偏见左右检测。 对你认同和不认同的文章采用相同标准。
  5. 过度检测。 单个带有倾向性的词语不能证明存在某种模式。应统计其出现次数并结合语境分析,避免夸大。
  6. 忽略合理的编辑风格。 特写、专栏、评论和倡导类文章与单纯的新闻报道有不同规范。评估技巧的使用情况前,先判断文章形式。
  7. 把来源数量等同于来源质量。 来自同一机构视角的 5 个来源,可能不如来自两个不同相关视角的来源多元。
  8. 把光谱当作政治方向。 该光谱仅表示偏差信号的强度。

此技能不是什么

  • 不是政治偏见分类器。
  • 不是真假检测器;验证主张请使用事实核查工作流。
  • 不是审查工具。
  • 并非权威结论;它只是批判性阅读的一种视角。
  • 在检测遗漏、选择性呈现或虚假平衡时,不能替代对一手来源的研究。

验证清单

  • 已提取并扫描文章文本。
  • 对带有倾向性语言的实例,均提供了中性替代表述及段落语境。
  • 已按机构类型对来源提及情况进行分类。
  • 已报告情绪诉求信号,且未假定其意图。
  • 已结合语境研究检查选择性呈现、遗漏、框架设定和虚假平衡,或将其标记为不确定。
  • 报告中不含政治方向标签。
  • 已说明偏差信号光谱表示强度,而非方向。
  • 每项不确定或未发现的结果均标记为“未检测到”或“语境不足”。

评论

支持 Markdown