diff --git a/backend/pipeline/competitor_report/comment_sentiment.py b/backend/pipeline/competitor_report/comment_sentiment.py index 30b2152..9148ad0 100644 --- a/backend/pipeline/competitor_report/comment_sentiment.py +++ b/backend/pipeline/competitor_report/comment_sentiment.py @@ -409,7 +409,7 @@ def build_comment_sentiment_llm_payload( (全量去重后的评价句确定性洗牌抽样,供模型结合语境自行判断褒贬)。 ``sentiment_bucket_method``:有有效评分列时为 ``score_then_lexeme``,否则为 ``keyword_substring_heuristic``; - 条形图与 ``comment_sentiment_lexicon`` 计数方式与之一致,正文归纳仍以整句语义为准。 + ``comment_sentiment_lexicon`` 与各象限计数一致(竞品报告与 brief **已不再**发布同口径图);正文归纳仍以整句语义为准。 """ use_score_column = bool( scores is not None diff --git a/backend/pipeline/competitor_report/llm_group_payloads.py b/backend/pipeline/competitor_report/llm_group_payloads.py index 941c0d4..3a2f442 100644 --- a/backend/pipeline/competitor_report/llm_group_payloads.py +++ b/backend/pipeline/competitor_report/llm_group_payloads.py @@ -292,7 +292,7 @@ def build_scenario_groups_llm_payload( sku_header: str, title_h: str, ) -> dict[str, Any]: - """供 ``generate_scenario_group_summaries_llm``;计数与 §8.3 图右栏(场景)一致。""" + """供 ``generate_scenario_group_summaries_llm``;计数与 **§8.2** 关注词/场景路径下图右栏(场景)一致。""" if not feedback_groups: return {} sku_meta: dict[str, tuple[str, str, str]] = {} diff --git a/backend/pipeline/llm/generate_group_summaries.py b/backend/pipeline/llm/generate_group_summaries.py index 8a3c461..14b160d 100644 --- a/backend/pipeline/llm/generate_group_summaries.py +++ b/backend/pipeline/llm/generate_group_summaries.py @@ -51,7 +51,7 @@ def generate_matrix_group_summaries_llm( COMMENT_GROUPS_SYSTEM = """你是用户研究与品类顾问。输入为 JSON:``keyword`` 与 ``groups``。 每个 group 含 ``group``(与 第五章矩阵一致的细分类目名)、``comment_flat_rows``、``effective_text_lines``、 -``focus_hit_lines``(关注词子串命中摘要,与 第八章第三节 同源)、``sample_text_snippets``(评价短摘录,已截断)。 +``focus_hit_lines``(关注词子串命中摘要,与 **第八章第二节**(关注词与场景路径)左栏同源)、``sample_text_snippets``(评价短摘录,已截断)。 摘录行通常以 ``【细类:…|SKU:…|品名:…|店铺:…】`` 开头:细类可与本 group 名对照,**品名/SKU/店铺**表示该句具体出自哪条链接;归纳时若引用原话,**须交代是「哪家店、哪条 SKU、哪款品名」上的反馈**,勿只写「有用户说口感差」而不指代产品。 关注词命中为子串统计,可能与句意不一致;**请以整句语义**判断褒贬(如「软硬适中」「没那么甜」常为满意表述,不得据此写成质地问题)。 @@ -163,9 +163,9 @@ def generate_comment_group_summaries_llm( SCENARIO_GROUPS_SYSTEM = """你是用户研究与品类顾问。输入为 JSON:``keyword``、``scenario_lexicon``、``groups``。 -``scenario_lexicon`` 列出各场景标签及示例触发子串(与报告 **第八章第三节** 右栏统计规则一致)。 +``scenario_lexicon`` 列出各场景标签及示例触发子串(与报告 **第八章第二节**(关注词与场景路径)右栏统计规则一致)。 ``groups`` 每项含 ``group``(与 第五章矩阵一致的细分类目名)、``effective_text_count``(有效评价文本条数)、 -``scenario_distribution``(各预设场景的 ``mention_rows`` 与 ``share_of_effective_texts``;**一条评价可计入多场景**;与 第八章第三节 图右栏同源)、 +``scenario_distribution``(各预设场景的 ``mention_rows`` 与 ``share_of_effective_texts``;**一条评价可计入多场景**;与 **第八章第二节** 图右栏同源)、 ``sample_text_snippets``(摘录行常含细类、SKU、品名、店铺等前缀的短引文,已截断)。 统计为**子串命中**,不是语义主题模型。 @@ -179,7 +179,7 @@ SCENARIO_GROUPS_SYSTEM = """你是用户研究与品类顾问。输入为 JSON SCENARIO_GROUPS_USER_PREFIX = ( - "请根据以下 JSON 撰写竞品报告 第八章第三节(右栏:使用场景)之后的「使用场景要点归纳」正文(Markdown)。\n\n" + "请根据以下 JSON 撰写竞品报告 第八章第二节(右栏:使用场景)之后的「使用场景要点归纳」正文(Markdown)。\n\n" ) diff --git a/backend/pipeline/llm/generate_sections.py b/backend/pipeline/llm/generate_sections.py index 358d43b..a154a5f 100644 --- a/backend/pipeline/llm/generate_sections.py +++ b/backend/pipeline/llm/generate_sections.py @@ -1,4 +1,4 @@ -"""第八章情感解读、报告分章、章节衔接等 LLM。""" +"""评价情感 LLM(可选):默认**不**写入竞品报告;供独立调用或历史任务兼容。""" from __future__ import annotations import json @@ -10,9 +10,9 @@ from .llm_client import call_llm SENTIMENT_LLM_SYSTEM = """你是电商/食品类用户研究助手。输入 JSON 含: -- ``comment_sentiment_lexicon``:子串词表统计(与报告条形图**同一计数方式**,**仅作定量参考**;子串命中≠说话人态度)。 +- ``comment_sentiment_lexicon``:子串词表统计(与载荷内各计数字段**同一计数方式**;竞品报告**已不再**发布同口径扇形图/条形图;**仅作定量参考**;子串命中≠说话人态度)。 - ``positive_lexeme_hits_top`` / ``negative_lexeme_hits_top``:短语级命中摘要(同源)。 -- ``sentiment_bucket_method``:``score_then_lexeme`` 表示**先按 1~5 星分桶**(无评分行再按关键词);``keyword_substring_heuristic`` 表示**仅关键词**分桶;与条形图一致。``sample_reviews_positive_biased`` / ``negative`` / ``mixed_tone`` 按该规则**机械归类**的抽样,**可能与整句真实褒贬不一致**(例如「软硬适中」曾被误归负向)。 +- ``sentiment_bucket_method``:``score_then_lexeme`` 表示**先按 1~5 星分桶**(无评分行再按关键词);``keyword_substring_heuristic`` 表示**仅关键词**分桶;与 ``comment_sentiment_lexicon`` 内四象限计数一致。``sample_reviews_positive_biased`` / ``negative`` / ``mixed_tone`` 按该规则**机械归类**的抽样,**可能与整句真实褒贬不一致**(例如「软硬适中」曾被误归负向)。 - **``sample_reviews_semantic_pool``**(若有):本批评价经去重后的**随机/洗牌抽样**(来自全部有效条,不限于某一象限)。**归纳正/负向体验、引用「」短引文时,优先以此池与上述各列表中的原文为准,自行结合语境理解**:转折、对比(如「没那么甜」「软硬适中」)、先抑后扬/先扬后抑整句态度;**不得以子串是否命中负面词来断言该句为抱怨**。 每条样本通常以 ``【细类:…|SKU:…|品名:…|店铺:…】`` 开头,表示 **第五章细类、SKU、品名、店铺**;写归纳与「」引文时须能还原「哪家店、哪条 SKU、哪款品名」,或保留前缀,**禁止**无指代地写「用户普遍…」。 @@ -24,7 +24,7 @@ SENTIMENT_LLM_SYSTEM = """你是电商/食品类用户研究助手。输入 JSON - **定性归纳**(满意点/抱怨点、引语是否算差评):以**整句语义**为准;若某句在语义上为褒义或中性描述,**不得**放入「质地差、口感硬」等负向归因;若词表归类结果与句意冲突,**以句意为准**,并在「使用注意」点明「关键词归类**仅反映子串计数,不作态度判断**」。 - **负向主题优先级(硬性)**:写「主要」「集中」「突出」类抱怨前,**必须对照** ``negative_lexeme_hits_top`` 各短语的 ``texts_matched``:若「口感硬/咬不动/发硬」等**预设短语命中为 0 或明显低于**其它维度(如分量、少、物流),**不得**把质地硬写成首要负向主题;若抽样原文与语义池里**反复出现**「分量少、太少、不够吃」等而预设短语未列出,仍须**单独归纳**(用户常用生活化表述,不必与预设表完全一致)。 - 若某措辞**未**出现在任一抽样原文(含前缀后正文)中,**禁止**用引号写成直接引语。 -- **不要**只复述「某词出现 N 次」——条形图已展示;你的价值是**语义归纳**。 +- **不要**只复述「某词出现 N 次」——若业务侧仍配图表则由图展示;你的价值是**语义归纳**。 **建议结构**(使用四级标题 ``####``): 1. ``#### 正向体验主题``:3~6 条;概括满意点(口感、甜度、性价比等),**尽量**用「」引用 ``sample_reviews_semantic_pool`` 或其它样本中**语义确为正面**的短句(勿把对比褒义句当差评例子)。 @@ -36,7 +36,7 @@ SENTIMENT_LLM_SYSTEM = """你是电商/食品类用户研究助手。输入 JSON def generate_comment_sentiment_analysis_llm(payload: dict[str, Any]) -> str: - """基于 lexicon 统计 + 语义池与按词表归类的抽样,生成 第八章第二节 大模型解读段落(Markdown)。""" + """基于 lexicon 统计 + 语义池与按词表归类的抽样,生成评价情感归纳段落(Markdown);**默认不**嵌入竞品报告正文。""" p = dict(payload) raw = json.dumps(p, ensure_ascii=False) if len(raw) > 88_000: diff --git a/backend/pipeline/tests/test_competitor_brief.py b/backend/pipeline/tests/test_competitor_brief.py index aa600dd..d53310a 100644 --- a/backend/pipeline/tests/test_competitor_brief.py +++ b/backend/pipeline/tests/test_competitor_brief.py @@ -145,7 +145,9 @@ class BuildCompetitorBriefTests(SimpleTestCase): self.assertIn("店铺:", lines[0]) self.assertIn("整体口感还差点意思", lines[0]) - def test_scenario_groups_llm_payload_matches_section_8_4_counts(self) -> None: + def test_scenario_groups_llm_payload_matches_chapter8_sec2_right_rail_counts( + self, + ) -> None: sku_h = "SKU(skuId)" merged = [ { diff --git a/backend/requirements.txt b/backend/requirements.txt index 327a605..730e50c 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -9,7 +9,7 @@ reportlab>=4.0 matplotlib>=3.8 playwright>=1.40 -# 第八章评论文本补充分析(默认写入竞品报告第八章第三节时需安装) +# 第八章评论文本补充分析(默认写入竞品报告第八章第二节时需安装) jieba>=0.42 scikit-learn>=1.4 numpy>=1.26 diff --git a/docs/demo/市场策略稿-示例-20260410_134015_低GI.md b/docs/demo/市场策略稿-示例-20260410_134015_低GI.md new file mode 100644 index 0000000..8eb3e3d --- /dev/null +++ b/docs/demo/市场策略稿-示例-20260410_134015_低GI.md @@ -0,0 +1,11 @@ +# 市场策略稿(示例 · 批次 20260410_134015)— 已过时 + +本文件曾基于较早跑批撰写,其中 **§1.2「核心场景」规则统计占比表**(如早餐/代餐 28.6%)来自简报 **`usage_scenarios` 词组规则**,**已非当前产品主依据**。 + +当前版本已改为以 **第八章第二节「评论文本补充分析」(文本挖掘:分词、词频、共现、LDA、词云)** 作为评论侧策略依据(`chapter8_text_mining_probe` 开启时);**不再**使用原「评价正负面粗判」预设口语短语扇形图/条形图。未开探针时第八章第二节仍为「关注词与使用场景」并列图路径。 + +**请改读:** + +- **[市场策略稿-示例-20260413_104252_低GI.md](./市场策略稿-示例-20260413_104252_低GI.md)**(`data/JD/pipeline_runs/20260413_104252_低GI`,与现有文本挖掘产出一致) + +目录模板仍见:[市场策略稿-目录模板-六主轴与品牌四线.md](../templates/市场策略稿-目录模板-六主轴与品牌四线.md)。 diff --git a/docs/planning/策略生成-LLM全量输入快照.md b/docs/planning/策略生成-LLM全量输入快照.md index 245f075..16b1234 100644 --- a/docs/planning/策略生成-LLM全量输入快照.md +++ b/docs/planning/策略生成-LLM全量输入快照.md @@ -637,6 +637,6 @@ "report_strategy_excerpt": "#### 定价与价带\n\n当前“低GI”品类价格带跨度较大,整体呈现中端至中高端的分布特征。从列表页数据看,价格区间为 8.90~1794.00 元,均值为 109.67 元,中位数为 52.90 元,标准差高达 152.69,表明价格离散度较高,市场未形成统一价格锚点。其中,饼干类价格集中在 14.38~66.00 元,中位数为 27.97 元;西式糕点价格带为 24.87~39.38 元,中位数为 33.87 元,整体定价更为集中;而米类价格则明显偏高,3 个 SKU 价格区间为 68.87~128.87 元,中位数达 68.97 元,反映出主食类低GI产品在健康定位下的溢价能力。\n\n值得注意的是,部分大规格产品存在单价溢价现象,如碧翠园 1000g 全麦饼干标价 29.90 元,而 500g 规格仅售 15.90~16.90 元,价差显著。此外,风味挂面类价格跨度大,从 25.87 元至 78.87 元不等,表明消费者对功能性挂面的接受度存在明显分层。整体来看,该品类尚未形成明确的“性价比带”或“功能溢价带”,存在通过规格、包装、品牌等维度进行差异化定价的空间。\n\n建议在后续产品布局中,可针对不同消费场景设计分层价格策略:一是围绕“日常代餐”场景打造 15~30 元的高性价比产品线,主打“独立包装+高饱腹感”;二是针对“健康主食”或“特定人群”(如糖尿病患者)推出 50~100 元的中高端产品,强调“低升糖认证+营养成分表”等专业背书;三是探索“组合装”或“家庭装”模式,通过克重与单价的优化提升客单价与复购率。\n\n#### 差异化与应对齐的优势\n\n从品牌与产品矩阵来看,当前“低GI”品类竞争格局尚未固化,品牌集中度较低,市场存在定位与叙事空间。在列表页中,第一大店铺为“DGI官方旗舰店”,占列表行份额 7.3%,但去重 SKU 基础下其份额为 8.6%,表明该品牌在 SKU 数量上具备一定优势。然而,从品牌分布看,碧翠园、轻食兽、神探伍伍、红谷林、豪士、盼盼等品牌均在不同子类中占据重要位置,尚未形成单一品牌主导格局。\n\n在差异化策略上,当前产品主要围绕“0添加蔗糖”“全麦”“高纤维”“低GI”等健康标签展开,但差异化深度有限。例如,饼干类普遍强调“奇亚籽”“燕麦”“黑藜麦”等配料,西式糕点则聚焦“全麦”“黑麦”“亚麻籽”等粗粮组合,但多数产品未形成明确的功能性或口感差异化。值得注意的是,部分新兴品牌如“慢教授”“神探伍伍”“轻食兽”等已尝试构建“健康+场景”叙事,如“慢糖DHA藻油黑芝麻饼”“低GI黑全麦面包”等,将营养成分与特定人群(如孕妇、糖友)绑定,形成初步的细分定位。\n\n建议后续可围绕“功能+场景”深化差异化:一是强化“特定人群”标签,如针对孕妇、老年人、健身人群推出专属配方(如添加DHA、钙、膳食纤维等);二是构建“健康+口感”组合,如通过“酥脆口感+低GI”“松软质地+高饱腹”等卖点突破“健康即难吃”的刻板印象;三是探索“场景化组合装”,如“早餐三件套”(面包+麦片+挂面)或“代餐组合包”,提升用户粘性与客单价。\n\n#### 风险与避免项\n\n当前市场存在若干潜在风险点,需在产品与营销策略中规避。首先,用户对“口感”的反馈呈现两极分化:一方面,“口感酥脆”“味道不错”等正面评价频现;另一方面,也有用户反馈“口感偏硬”“噎人”“不够松软”,表明部分低GI产品在追求健康属性时牺牲了口感体验。例如,有用户评价“这款面包香气扑鼻,口感松软🍞。包装完好,没有任何损坏📦。送到家时依然新鲜,非常满意的一次购物体验!👍 推荐给所有喜欢面包的小伙伴们~”,但紧接着又补充“性价比一般”,说明用户在满意产品品质的同时,对价格敏感度较高。\n\n其次,用户对“分量”的反馈也存在不满,如“这款面包有点太小。再大一点更好了”“花卷很小,比自己家做的和外面卖的都小”,反映出部分产品在规格设计上未能满足用户对“饱腹感”和“性价比”的双重期待。此外,有用户指出“配料表里含有麦芽糖醇,一次不能多吃,否则容易造成肠胃不适”,提示功能性食品在成分设计上需更明确标注潜在影响,以避免用户误解或不适。\n\n建议在产品开发中加强口感与分量的平衡设计:一是优化配方工艺,提升低GI产品的松软度与咀嚼感;二是调整规格设计,推出“大包装”或“组合装”以增强性价比感知;三是完善成分说明,在详情页中明确标注功能性成分(如麦芽糖醇、菊粉等)的摄入建议,提升用户信任感。\n\n#### 促销与活动机制\n\n从促销形态看,当前“低GI”品类普遍采用“到手价”为核心展示形式,通过“购买立减+红包抵扣”组合实现价格下探,优惠金额集中在 1~1.5 元区间。多数商品标注“新人到手价”并提示“非新人价格可能不同”,强化新人转化策略。部分商品叠加满减权益(如满99享9折、满169享8.5折),形成阶梯式促销结构。\n\n值得注意的是,促销信息与榜单曝光高度并存,如“干菜类”所有SKU均标注“干菜热卖榜·第19名”,“风味挂面”多款产品进入“热卖榜”或“40元以上细分榜单”,表明平台通过“价格+热度”双重引导提升转化。此外,部分商品存在“不可使用东券”的购买限制提示,体现平台券系与自有优惠的差异化策略。\n\n建议在促销机制设计上,可结合不同子类特点进行差异化布局:一是针对“高频消费”品类(如饼干、挂面)推出“满减+返券”组合,提升用户复购率;二是针对“高客单价”品类(如米、面点)设计“新人专享价+购物返豆”激励,降低新客决策门槛;三是探索“场景化促销”,如“早餐组合满减”“代餐套装立减”等,提升客单价与用户粘性。\n\n#### 转化与体验\n\n从用户反馈看,当前“低GI”品类的整体体验以正面为主,尤其在口感、健康属性、包装便利性及物流服务方面获得较多肯定。多数用户表示产品“酥脆”“口感好”“味道香”,且“无糖”“低GI”“高纤维”等健康标签契合其控糖、减脂或代餐需求。例如,来自“碧翠园京东自营旗舰店”的用户多次提到“口感酥脆”“饱腹感强”“配料干净”“0蔗糖”等关键词,认为其是“控糖期的救星”“嘴馋的解馋零食”。\n\n在包装方面,“独立包装”“包装严实”“包装完好”等表述频繁出现,反映出用户对包装便利性与品质稳定的关注。物流方面,“京东物流配送又快又好”“师傅认真负责”“服务周到”等表述也较为常见,体现出用户对京东自营渠道的信任感。\n\n然而,部分用户对产品提出具体改进建议:一是“分量少”“太小”“不够吃”等表述在多条评价中出现,反映出部分用户对产品规格的不满;二是“口感偏硬”“噎人”“稍微有点噎人”等反馈表明,部分低GI产品在追求健康属性的同时,可能牺牲了口感柔软度;三是“配料表里含有麦芽糖醇,一次不能多吃,否则容易造成肠胃不适”等提醒,提示功能性食品在成分设计上需更明确标注潜在影响。\n\n建议在详情页与评价管理中加强用户体验优化:一是突出“口感”与“分量”的平衡设计,通过图文或视频展示产品质地与规格;二是完善成分说明,在详情页中明确标注功能性成分的摄入建议;三是优化评价管理,对“口感偏硬”“分量小”等负面反馈进行归因分析,指导产品迭代。", "report_matrix_group_evidence_md": "> **说明**:以下为同任务《竞品分析报告》正文中、细类「**饼干**」下 「#### …」小节的**大模型归纳**摘录(按正文出现顺序拼接),覆盖矩阵/价盘/促销/评论与场景等块中**已生成**的段落;若某块未开 LLM 或未产出对应小节,则不会出现在此摘录中。\n\n该细类下“低GI”饼干产品普遍强调“0添加蔗糖”或“无糖精”,主打全麦、粗粮、高纤维等健康概念,部分产品突出奇亚籽、燕麦、黑藜麦等配料以强化营养属性。卖点集中于“代餐”“饱腹”“控糖”“健身”等关键词,覆盖早餐、零食、孕妇及糖友等细分场景。品牌方面,碧翠园、轻食兽、DGI、红谷林等为高频出现品牌,多为国产,部分品牌如江中猴姑则结合食养概念(猴头菇)拓展差异化。配料摘录中可见奇亚籽、燕麦、黑藜麦、乳酸菌等成分,体现对膳食纤维与营养均衡的关注。价格方面,该细类价格带为 14.38~64.97 元,中位数为 27.97 元,表明市场覆盖从中端到中高端价位,消费者对健康代餐饼干的价格接受度较广。样本较多,归纳具有代表性。\n\n---\n\n该细类价盘跨度较大,标价从 14.38 元至 66.00 元不等,中位数为 27.97 元,均值 29.28 元,离散度较高(标准差 14.19),显示价格分布较分散。多数商品标价与详情价一致,券后价未展示,但部分商品如碧翠园 1000g、轻食兽 1008g 等大规格产品标价显著高于常规规格,如 500g 约 16 元,1000g 却达 29.90~42.90 元,价差明显,推测大包装存在单价溢价。部分商品券后价略低于标价,但整体价差幅度较小,未见大幅优惠。\n\n---\n\n该细类促销摘要覆盖率高,所有 SKU 均展示购买者侧促销信息。促销形态以「到手价」为核心,多数商品通过「购买立减」与「红包抵扣」实现价格下探,且「新人到手价」话术高频出现,强调新人专享优惠。多款商品叠加满减权益,如「满169享8.5折」「满99享9折」,部分商品还提供「最高返京豆」激励。榜单曝光普遍,热卖榜排名集中于前5名,促销与榜单并存,形成强关联。部分商品存在「不可使用东券」的购买限制提示,体现平台券系与自有优惠的差异化策略。整体促销话术密度高,信息拆解清晰,用户侧感知明确。\n\n---\n\n![词云(按词频权重)](report_assets/wordcloud_probe__00_饼干.png)\n\n本细类有效评论约 **340** 条(原始非空 **340** 条,经分词去停用后用于建模)。\n\n**词频 Top**:「饼干」(302)、「口感」(151)、「饱腹」(141)、「不错」(140)、「健康」(123)、「酥脆」(120)、「回购」(108)、「零食」(95)、「全麦」(82)、「方便」(73)、「纤维」(70)、「独立」(68)。\n\n**关键词突出度 Top**(相对区分度):「饼干」(0.063)、「不错」(0.055)、「饱腹」(0.047)、「口感」(0.044)、「回购」(0.039)、「健康」(0.039)、「酥脆」(0.038)、「零食」(0.038)、「全麦」(0.034)、「好吃」(0.034)、「gi」(0.030)、「方便」(0.029)。\n\n**共现较强的词对**(同条评论内,供联想维度):「口感」-「饼干」(98);「酥脆」-「饼干」(94);「健康」-「饼干」(88);「回购」-「饼干」(81);「饱腹」-「饼干」(76);「口感」-「酥脆」(74);「口感」-「饱腹」(71);「全麦」-「饼干」(61);「这款」-「饼干」(60);「酥脆」-「饱腹」(60)。\n\n**自动归纳的主题(无监督,仅作探索)**:\n- 主题 1:饼干、饱腹、酥脆、口感、健康、回购、全麦、gi、零食、方便、独立、纤维\n- 主题 2:不错、口感、饼干、饱腹、起来、速度、早餐、干净、酥脆、香味、合适、好吃\n- 主题 3:饼干、回购、健康、零食、好吃、不错、这款、味道、全麦、gi、起来、酥脆\n- 主题 4:饼干、口感、无糖、饱腹、独立、方便、不错、全麦、酥脆、健康、合适、纤维\n\n> 以上为主题探索与统计摘要,**不等同**于业务结论;若与星级、规则词表冲突,以人工抽样为准。\n\n---\n\n---\n\n该细类评论主要围绕一款主打「低GI」与「健康代餐」功能的全麦粗粮饼干展开,用户普遍关注其口感、饱腹感以及配料的天然性。关键词突出度显示,“饱腹”“口感”“回购”等词高频出现,表明消费者在选择时更看重食用体验与持续购买意愿。共现分析中,“口感”与“饼干”“酥脆”频繁组合,“饱腹”与“健康”“粗粮”紧密关联,反映出用户将产品视为兼具美味与功能性的小食。\n\nLDA主题归纳揭示了多个潜在关注维度:第一主题聚焦于产品本身属性,如“饼干”“饱腹”“GI”“全麦”等,强调其作为代餐的健康价值;第二主题则偏向使用体验,如“早餐”“香味”“干净”等,暗示其作为日常加餐的便利性;第三主题突出“回购”“这款”“味道”等表达,体现用户对品牌与口味的认同;第四主题再次强调“无糖”“独立”“纤维”等成分与包装细节,说明消费者对配料表与食用方式的关注。需注意的是,LDA主题为无监督聚类结果,同一主题中可能出现多个维度交叉,且不与正式品类标签一一对应。\n\n从摘录文本可见,用户语气多为满意与推荐,如“第二次购买了”“回购”“值得”等表述频繁出现,体现出较强的复购意愿。部分评论中提到“血糖高”“嘴馋的救星”等语境,暗示该产品主要被控糖人群或需控制饮食的用户所青睐。例如有用户表示:“因为血糖高,又会常常肚子饿,这款饼干碳水化合物低,无蔗糖,对血糖有益,营业搭配饱腹感很强”,反映出其在特定健康需求下的使用场景。\n\n使用场景方面,评论中明确提及“早餐搭配牛奶”“每天吃”“加餐”等描述,表明该饼干常被用于早餐补充或日常饥饿时的替代零食。同时,“独立包装”“方便”等词的高频出现,也支持其作为便携式健康零食的定位。整体来看,该产品在满足口感需求的同时,通过“低GI”“无糖”“高纤维”等标签满足特定人群的健康诉求,形成“美味+健康”的双重价值认知。\n\n---\n\n**使用注意**:本分析基于开放词表与统计模型,词频与关键词突出度反映的是文本中词语的分布特征,而非人工标注的语义标签;LDA主题归纳为无监督聚类结果,主题间可能存在重叠,且不保证与实际产品功能或用户意图完全一致;所有结论仅依据本细类评论数据推断,不引入外部场景分类或正式报告中的标签体系。\n\n---", "chapter8_text_mining_probe": true, - "structured_brief_omission_note": "已启用第八章文本挖掘(探针为主):structured_brief 已省略「关注词/场景子串计数」、按细类 feedback 中的 focus_keyword_hits/scenarios_top、`strategy_hints`、`comment_sentiment_lexicon`(规则词表/条形图同源),避免与报告 §8 文本挖掘主口径冲突。**不得**再以这类子串计数或预设场景占比作为论据。用户与评论侧须依报告 §8 文本挖掘归纳及 `report_matrix_group_evidence_md`;**促销、满减、券价差**须与报告第六章、`price_promotion_signals` 及下方 `report_strategy_excerpt`(第九章)对齐,不得省略报告已写明的活动建议。" + "structured_brief_omission_note": "全量 competitor_brief 已**不再**包含 `comment_sentiment_lexicon`(原星级子集预设口语短语口径)。已启用第八章文本挖掘(探针为主)时,传入策略润色的 structured_brief 还会省略「关注词/场景子串计数」、按细类 feedback 中的 focus_keyword_hits/scenarios_top、`strategy_hints` 等,避免与报告 §8 文本挖掘主口径冲突。**不得**再以这类子串计数或预设场景占比作为论据。用户与评论侧须依报告 **§8.2** 文本挖掘归纳及 `report_matrix_group_evidence_md`;**促销、满减、券价差**须与报告第六章、`price_promotion_signals` 及下方 `report_strategy_excerpt`(第九章)对齐,不得省略报告已写明的活动建议。" } ``` diff --git a/docs/planning/策略生成-框架确定.md b/docs/planning/策略生成-框架确定.md index b32735b..0161ce1 100644 --- a/docs/planning/策略生成-框架确定.md +++ b/docs/planning/策略生成-框架确定.md @@ -184,7 +184,7 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原 | 口感按细类:酥脆 vs 松软分线,禁止一词盖全站 | `STRATEGY_SYSTEM` **口感/质地与细类** | | 促销:满减/满折/券/跨店,不编造门槛、不全节留空 | `STRATEGY_SYSTEM` **促销**;底稿 §八.3 | | 报告第九章仍用 `generate_strategy_opportunities_llm`,runner 正文拼装不改 | 代码现状;本文件 §5 | -| 人工可读示例(低 GI) | `docs/demo/市场策略稿-示例-20260413_104252_低GI.md`(含 §2.1、§8.3 范例句) | +| 人工可读示例(低 GI) | `docs/demo/市场策略稿-示例-20260413_104252_低GI.md`(含 §2.1;策略稿目录 §8.x 为「战术支柱」促销等,勿与竞品报告第八章节号混淆) | **另行立项(本文件不承诺已编码)**:营销内容管线 S2/S3(见 `strategy-marketing-content-alignment.md`)、仅摘要模板、表单新字段、输出数字同源性自动校验 S4。