分析文本的写作风格特征,自动生成 Voice Profile 配置文件,包含风格标签、语速、语气、情感倾向等。用于保持小说创作的风格一致性。
使用场景:
维度分析内容输出Voice Profile风格标签、语速、语气、情感倾向labels, pace, tone, sentiment句式特征平均句长、长短句比例、修辞手法average_length, ratios, rhetorical_devices词汇特征词性比例、高频词、词汇丰富度adj/verb/noun_ratio, frequent_words节奏特征段落长度、标点分布、对话比例paragraph_length, punctuation, dialogue_ratio
bash
# 基本用法
python3 scripts/analyze_style.py --input novel.txt --output style.yml
# 指定样本大小
python3 scripts/analyze_style.py \
--input novel.txt \
--output style.yml \
--sample-size 2000
# 分析结果输出到终端 + 保存 YAML
python3 scripts/analyze_style.py -i text.txt -o style.yml
参数必填说明--input / -i✅输入文本文件路径--output / -o✅输出 YAML 配置文件路径--sample-size / -s❌分析样本大小(默认 1000 字符)
yaml
voice_profile:
labels:
- 简洁
- 快速
- 紧凑
- 对话性强
pace: 快速
tone: 随意
sentiment: 0.15
sentence_features:
average_length: 28.5
long_sentence_ratio: 0.15
short_sentence_ratio: 0.65
rhetorical_devices:
metaphor: 3
simile: 2
vocabulary_features:
adj_ratio: 0.12
verb_ratio: 0.18
noun_ratio: 0.35
most_frequent_words:
- - 主角
- 15
- - 说道
- 12
unique_words_ratio: 0.68
rhythm_features:
average_paragraph_length: 156
punctuation_distribution:
period: 45
comma: 78
question: 12
exclamation: 5
dialogue_ratio: 0.35
标签含义触发条件简洁句子简短平均句长 ≤ 40 字符复杂句子较长平均句长 > 40 字符快速节奏紧凑平均句长 < 30 字符舒缓节奏缓慢平均句长 ≥ 30 字符紧凑标点密集每句平均字符 < 30娓娓道来叙述舒缓每句平均字符 ≥ 30互动性有问句包含?或!对话性强对话多包含引号对话节奏感强标点丰富包含,、;
语速条件缓慢平均句长 > 50 字符适中平均句长 30-50 字符快速平均句长 < 30 字符
语气条件正式正式标记词 > 随意标记词 × 2随意随意标记词 > 正式标记词 × 2中性介于两者之间
正式标记词:因此、然而、综上所述、基于此、由此可见
随意标记词:我觉得、我想、你知道、其实、就是说
范围:-1.0 到 1.0
安装依赖:
bash
pip install -r scripts/requirements.txt
bash
# 1. 分析风格
python3 ../style-analyzer/scripts/analyze_style.py \
--input reference_text.txt \
--output style.yml
# 2. 使用生成的 Voice Profile 构建提示词
python3 ../smart-prompt-builder/scripts/build_prompt.py \
--scene-type description \
--style-file style.yml \
--context '{"scene": "森林"}'
bash
# 1. 分析参考文本风格
python3 ../style-analyzer/scripts/analyze_style.py \
--input author_sample.txt \
--output style.yml
# 2. novel-writer 使用 style.yml 保持风格一致