第一次清洗后发现的问题
========================

把 cleaned_v1.csv 打开扒拉了一遍，原本以为 emoji 和特殊符号都处理干净了，
结果还是发现了几个漏网之鱼和当时没想到的问题：

问题 1：网络用语完全没处理（最大漏网之鱼！）
---------------------------------------------
grep 了一下，下面这些梗在 v1 里一条都没删：
    真香 21 条、踩雷 31 条、破防了 15 条、yyds 10 条、栓Q 9 条（小写后变 栓q）、
    绝了 9 条、离谱 8 条、蚌埠住了 7 条、笑死 5 条、hhh 3 条

这些必须处理，有两个原因：
  (1) 它们没有产品意义，会污染高频词 Top20；
  (2) 情感上更麻烦——"真香"本来是褒义，但有的评论里是"真香，外观设计差劲…"
     这里的"真香"是反讽，和后半句情感是反的。如果不清掉，情感打分会算错。
决定：第二次清洗时把这些梗整体作为"脏数据词"删掉。

问题 2：csv 没有行号，回溯不了
------------------------------
v1 存的 csv 只有一列 review，没保留原始行号。
我想做"发现的脏数据清单.xlsx"的时候，才意识到这一步必须保留原行号，
不然告诉老师"第 X 行有脏数据"都说不清。
决定：第二次把 id（从 1 开始）一起写进去。

问题 3：中文标点没去掉
---------------------
v1 保留了 ，。！？、，jieba 分词时会把它们切成独立 token，
虽然后面能靠停用词过滤掉，但不如清洗阶段就一起干掉更干净。
决定：第二次清洗里把所有非 中英文/数字 的字符统统替换成空格。

问题 4：没生成脏数据清单
------------------------
老师要求 "发现的脏数据清单.xlsx" 要有具体行号，v1 没做这一步。
决定：第二次清洗时一边清一边把 "原始行号 + 问题类型 + 原文片段" 记到一个 list 里，
最后用 pandas 写成 xlsx。

问题 5：栓Q 被 lower() 切坏了
----------------------------
v1 里因为 .lower() 把栓Q 变成了 栓q，单看更像一个乱码。
本来打算把"栓Q"整体当网络梗删，现在变 "栓q" 反而得先查再删。
决定：网络梗过滤要放在 .lower() 之前，顺序搞对。
