0. 阶段定位:从"数据呈现"走向"决策输出"

在前六个阶段,系统完成了数据治理、NLP分析、用户画像、竞品对比等核心分析能力的建设。各项分析结果可以独立查看,但缺少统一的输出形式,用户需要自行整理数据、手动编写报告,分析结论难以直接转化为运营决策。

第七阶段重点打造报告生成与营销文案两大输出模块。报告生成模块支持三种模板自动生成Word/PDF格式报告,嵌入全部分析图表,由大模型撰写执行摘要。营销文案模块基于好评高频词自动生成多风格标题、卖点清单和差评应对话术。两大模块让系统从"数据呈现"升级为"决策输出",形成完整的分析闭环。

1. 上阶段的遗留问题与初始痛点

分析结果分散在多个页面,缺少统一输出形式。用户查看LDA主题、情感分布、用户画像、竞品对比需要逐个切换页面,手动整理,耗时且容易遗漏关键信息。

报告编写效率低下且质量不稳定。运营人员需要将各模块数据汇总后手动撰写报告,不同人员编写风格差异大,核心结论容易遗漏,报告质量参差不齐。

营销文案缺乏数据支撑,创作效率低。商家撰写商品文案时缺少好评数据参考,标题卖点凭主观经验确定,差评回复话术单一,难以针对性化解用户不满。

产品优化建议缺少优先级排序。系统可以识别差评问题,但未给出整改优先级和具体建议,运营人员需要自行判断哪些问题需要紧急处理。

2. 阶段七核心攻坚工作与落地成果

2.1 多模板报告自动生成
2.1.1 三种报告模板设计

智评罗盘设计了三种报告模板,覆盖不同使用场景:

模板类型 适用场景 内容范围 预计页数
运营周报 快速了解本周数据概况 核心数据摘要+主题词云+情感趋势+TOP3改进建议 约5页
月度深度分析 全面复盘月度运营表现 全模块分析图表+大模型洞察+详细解读 约15页
竞品对标报告 专项竞品对比分析 竞品对比图表+SWOT分析+差距解读 约8页
REPORT_TEMPLATES = {
    "weekly": {
        "name": "运营周报",
        "sections": ["summary", "keywords", "sentiment", "suggestions"],
        "max_pages": 5,
        "generate_time": "30秒-1分钟"
    },
    "monthly": {
        "name": "月度深度分析",
        "sections": ["summary", "lda", "sentiment", "profile", "competitor", "suggestions"],
        "max_pages": 15,
        "generate_time": "1-2分钟"
    },
    "competitor": {
        "name": "竞品对标报告",
        "sections": ["summary", "bhi_ranking", "radar", "swot", "gap_analysis"],
        "max_pages": 8,
        "generate_time": "45秒-1分钟"
    }
}
2.1.2 图表自动嵌入机制

报告生成需要将ECharts图表转为静态图片嵌入Word文档。智评罗盘采用pyecharts生成静态图+matplotlib转base64的方案:

from pyecharts.charts import Bar, Pie, Line
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
import matplotlib.pyplot as plt
import base64
from io import BytesIO

def embed_chart_to_doc(doc, chart_data: dict, chart_type: str):
    # 生成matplotlib图表
    fig, ax = plt.subplots(figsize=(8, 4))
    if chart_type == "bar":
        ax.bar(chart_data["x"], chart_data["y"])
    elif chart_type == "line":
        ax.plot(chart_data["x"], chart_data["y"])
    
    # 转base64嵌入Word
    buf = BytesIO()
    plt.savefig(buf, format='png', dpi=150)
    buf.seek(0)
    img_base64 = base64.b64encode(buf.read()).decode()
    
    # 添加到Word文档
    doc.add_picture(BytesIO(base64.b64decode(img_base64)))
2.1.3 大模型执行摘要生成

报告开头需要一段200字的执行摘要,概括核心发现。智评罗盘调用大模型自动撰写:

SUMMARY_PROMPT = """基于以下分析数据,撰写200字执行摘要:

数据集:{dataset_name}
评论总量:{total_count}
平均评分:{avg_rating}
好评率:{positive_rate}%
主要主题:{top_topics}
情感趋势:{sentiment_trend}
用户群体:{user_clusters}
竞品差距:{competitor_gap}

要求:
1. 开篇一句话概括整体口碑状况
2. 列举3条核心发现
3. 给出1条关键建议
4. 语言简洁,数据支撑"""
2.1.4 Word与PDF双格式导出

报告生成后支持Word和PDF两种格式下载:

from docx import Document
from weasyprint import HTML

def generate_report(template: str, dataset_id: str) -> dict:
    # 生成Word文档
    doc = Document()
    doc.add_heading("智评罗盘分析报告", level=0)
    
    # 嵌入各章节内容
    for section in REPORT_TEMPLATES[template]["sections"]:
        section_data = fetch_section_data(dataset_id, section)
        render_section(doc, section_data)
    
    # 保存Word
    word_path = f"reports/{dataset_id}_{template}.docx"
    doc.save(word_path)
    
    # 转换PDF
    pdf_path = f"reports/{dataset_id}_{template}.pdf"
    HTML(word_path).write_pdf(pdf_path)
    
    return {"word": word_path, "pdf": pdf_path}
2.2 产品优化建议清单
2.2.1 三级优先级划分机制

差评归因结果需要转化为可执行的整改建议。智评罗盘按差评率划分三级优先级:

优先级 差评率阈值 响应时限 建议数量
紧急改进 ≥15% 本月内响应 至少2条
重要优化 5%-15% 季度内规划 至少2条
保持优势 好评率≥80% 持续保持 至少1条
def classify_priority(complaint_rate: float, positive_rate: float) -> str:
    if complaint_rate >= 0.15:
        return "urgent"
    elif complaint_rate >= 0.05:
        return "important"
    elif positive_rate >= 0.80:
        return "maintain"
    else:
        return "observe"
2.2.2 数据支撑说明生成

每条建议附带数据支撑说明,让运营人员理解建议来源:

SUGGESTION_PROMPT = """基于以下差评归因数据,生成整改建议:

问题类型:{issue_type}
差评提及率:{complaint_rate}%
典型差评样本:{sample_reviews}

请输出:
1. 建议内容(不超过30字)
2. 数据支撑说明(格式:"来自X条差评中Y%提及此问题")"""

生成结果示例:

  • 建议:优化物流配送时效,重点解决偏远地区延迟问题
  • 数据支撑:来自1,200条差评中38%提及物流延迟
2.2.3 建议清单前端渲染

前端以色块区分优先级,直观展示整改紧迫程度:

const SUGGESTION_COLORS = {
    urgent: { bg: "#fff2f0", border: "#ff4d4f", tag: "紧急" },
    important: { bg: "#fff7e6", border: "#fa8c16", tag: "重要" },
    maintain: { bg: "#f6ffed", border: "#52c41a", tag: "保持" },
}

const SuggestionCard = ({ suggestion }) => {
    const colorConfig = SUGGESTION_COLORS[suggestion.priority]
    return (
        <Card style={{ background: colorConfig.bg, borderLeft: `4px solid ${colorConfig.border}` }}>
            <Tag color={colorConfig.border}>{colorConfig.tag}</Tag>
            <Text>{suggestion.content}</Text>
            <Text type="secondary" style={{ fontSize: 12 }}>
                {suggestion.data_support}
            </Text>
        </Card>
    )
}
2.3 营销文案智能生成
2.3.1 好评高频正面词提取

营销文案基于真实好评数据生成。智评罗盘提取好评评论中的高频正面词:

from collections import Counter
import jieba

POSITIVE_SEEDS = ["好", "满意", "推荐", "快", "精美", "优质", "超值", "完美"]

def extract_positive_words(reviews: list, top_n: int = 30) -> list:
    positive_reviews = [r for r in reviews if r["rating"] >= 4]
    all_words = []
    for review in positive_reviews:
        words = jieba.lcut(review["content"])
        all_words.extend([w for w in words if w in POSITIVE_SEEDS or len(w) >= 2])
    
    word_freq = Counter(all_words)
    return [w for w, _ in word_freq.most_common(top_n)]
2.3.2 三风格标题文案生成

智评罗盘支持三种文案风格,适配不同营销场景:

风格类型 特点 适用场景
情感种草风 活泼口语,强调体验感 小红书、朋友圈推广
功能卖点风 参数化表达,突出性能 3C数码、家电详情页
数据背书风 精炼克制,引用好评数据 高端品牌、详情页首屏
TITLE_PROMPTS = {
    "emotional": """基于好评关键词{keywords},生成情感种草风标题:
要求:口语化表达,15字以内,强调使用体验""",
    
    "functional": """基于好评关键词{keywords},生成功能卖点风标题:
要求:参数化表达,20字以内,突出核心功能""",
    
    "data_backed": """基于好评率{positive_rate}%和好评关键词{keywords},生成数据背书风标题:
要求:引用数据,15字以内,精炼克制"""
}
2.3.3 卖点提炼清单

除标题外,系统自动提炼3-5条卖点,每条不超过20字:

SELLING_POINT_PROMPT = """基于以下好评高频词,提炼3-5条产品卖点:

好评高频词:{keywords}
商品类别:{category}

要求:
1. 每条卖点不超过20字
2. 卖点之间不重复
3. 优先选择高频提及的优势"""

生成结果示例:

  1. 物流快,次日达
  2. 做工精细,手感好
  3. 性价比高,值得买
2.3.4 差评应对话术模板

针对差评场景,智评罗盘提供三套应对话术:

话术类型 特点 适用场景
关切型 表达理解,承诺改进 情绪化差评
解释型 说明原因,提供方案 理性差评
补偿型 提供补偿,化解不满 严重差评
REPLY_TEMPLATES = {
    "concern": "感谢您的反馈,我们非常理解您的感受。针对您提到的问题,我们已记录并将在{timeline}内改进,感谢您的耐心等待。",
    "explain": "感谢您的反馈。关于{issue}问题,主要原因是{reason}。我们建议{solution},如有需要请联系客服。",
    "compensate": "感谢您的反馈。对于给您带来的不便,我们深表歉意。为弥补损失,我们提供{compensation},请联系客服领取。"
}

3. 阶段七核心开发进程

开发要点7-1:报告图表嵌入失败修复

主责:赵婧颐|协同:谭佳欣|验收:马烜钦

初期报告生成时,ECharts图表转base64嵌入Word失败,报告缺少关键可视化内容。

# 修复方案:使用matplotlib替代ECharts转图片
buf = BytesIO()
plt.savefig(buf, format='png', dpi=150, bbox_inches='tight')
buf.seek(0)
img_base64 = base64.b64encode(buf.read()).decode()
doc.add_picture(BytesIO(base64.b64decode(img_base64)), width=Inches(6))

实现后,报告完整嵌入评分分布直方图、情感趋势折线图、用户雷达图等全部图表。

开发要点7-2:大模型摘要超时处理

主责:马烜钦|协同:赵婧颐|验收:谭佳欣

初期大模型生成执行摘要时,偶尔超时导致报告生成失败。

# 修复方案:增加超时重试机制
async def generate_summary_with_retry(data: dict, max_retries: int = 3):
    for attempt in range(max_retries):
        try:
            summary = await llm_client.generate(SUMMARY_PROMPT.format(**data), timeout=30)
            return summary
        except TimeoutError:
            if attempt == max_retries - 1:
                return "摘要生成失败,请手动补充"
            await asyncio.sleep(2 ** attempt)  # 指数退避

实现后,摘要生成成功率提升至98%,失败时降级为占位提示。

开发要点7-3:建议优先级色块渲染优化

主责:陈佳睿|协同:刘雨蒙|验收:马烜钦

初期建议清单页面色块颜色不明显,紧急/重要/保持区分度低。

// 修复方案:增加左侧边框和背景色对比
const SUGGESTION_COLORS = {
    urgent: { bg: "#fff2f0", border: "#ff4d4f", tag: "紧急" },
    important: { bg: "#fff7e6", border: "#fa8c16", tag: "重要" },
    maintain: { bg: "#f6ffed", border: "#52c41a", tag: "保持" },
}

<Card style={{ background: colorConfig.bg, borderLeft: `4px solid ${colorConfig.border}` }}>

实现后,建议优先级一目了然,紧急建议红色边框醒目提示。

开发要点7-4:营销文案风格切换交互

主责:刘雨蒙|协同:陈佳睿|验收:赵婧颐

初期营销文案页面只展示单一风格标题,用户无法对比不同风格效果。

// 修复方案:三风格并列展示,支持一键切换
const [activeStyle, setActiveStyle] = useState('emotional')

<Tabs activeKey={activeStyle} onChange={setActiveStyle}>
    <TabPane tab="情感种草风" key="emotional">
        <TitleCard title={titles.emotional} />
    </TabPane>
    <TabPane tab="功能卖点风" key="functional">
        <TitleCard title={titles.functional} />
    </TabPane>
    <TabPane tab="数据背书风" key="data_backed">
        <TitleCard title={titles.data_backed} />
    </TabPane>
</Tabs>

实现后,用户可快速对比三种风格,选择最适合的文案形式。

阶段七整体总结

阶段七总结

阶段七推动EcoSentinel完成从"数据呈现"到"决策输出"的升级。核心实现两大模块:一是报告生成模块,支持周报、月度分析、竞品对标三种模板,自动嵌入图表并由大模型撰写执行摘要,输出Word/PDF格式;二是营销文案模块,提取好评高频词生成三风格标题、卖点清单及差评应对话术。同时产品优化建议清单按差评率划分三级优先级,附带数据支撑。本阶段形成完整智能分析闭环,让数据直接转化为运营决策。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐