悄悄话留言自查:孕周和内容对齐、去掉过来人身份矛盾的回复、名字不撞套路

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-07 04:10:28 +00:00
parent 52ff1ab718
commit 6bf65ef25d
9 changed files with 52 additions and 18 deletions

View File

@@ -14,22 +14,56 @@ def wk(p):
# 内容多是胎动、产检、待产(孕中晚期的事)→ 主评论只用孕 24 周以上的人设,免得「孕 6 周」说「头朝下了」
preg = sorted([i for i, p in enumerate(d['p']) if wk(p) >= 24], key=lambda i: (used[i], i))
anyp = sorted(range(len(d['p'])), key=lambda i: (used[i], i))
# 11-07 用户看评论:名字套路太像(4 个「在挑名字」、4 个「今天也开心」、3 个「水獭」、虎虎的老母亲/虎虎妈妈…)→ 同一帖里前两个字、后两个字都不撞
SIG = set()
def fresh(i):
n = d['p'][i][0]; ks = {'h:' + n[:2], 't:' + n[-2:]}
return not (ks & SIG)
def take(pool, k):
out = []
for i in pool:
if len(out) >= k: break
if fresh(i):
n = d['p'][i][0]; SIG.update({'h:' + n[:2], 't:' + n[-2:]}); out.append(i)
for i in pool: # 不够就只要求后两个字不撞
if len(out) >= k: break
n = d['p'][i][0]
if i not in out and 't:' + n[-2:] not in SIG: SIG.add('t:' + n[-2:]); out.append(i)
for i in pool: # 还不够就随它
if len(out) >= k: break
if i not in out: out.append(i)
return out
preg = take(preg, 160)
mains = preg[:200]; rnd.shuffle(mains)
reps = anyp[:300]; rnd.shuffle(reps)
anyp = [i for i in anyp if i not in set(preg) and not re.match(r'准爸爸', d['p'][i][2])] # 回复里不放「准爸爸」(还没娃,说不了打针)
reps = take(anyp, 31); rnd.shuffle(reps)
lines = [l.strip() for l in open('tools/whcm/lines.txt', encoding='utf-8') if l.strip()]
assert len(lines) == 100, len(lines)
out, ri = [], 0
# 内容要和孕周对得上:按关键词给每条定孕周范围,从打乱后的人设里挑第一个落在范围内的
RULES = [(r'糖耐', 24, 28), (r'预产期在月底', 37, 39), (r'待产包|入盆|无痛|胎位|头朝下|小床|产假|月子餐|育儿嫂|报纸|满月|儿科医生|插座|剪了标签|绘本', 32, 39),
(r'踢的位置越来越低|孕妇照|羊水|吸奶器|数胎动|数你|产褥垫|剪指甲|洗了第一批衣服|婴儿车', 28, 39), (r'四维', 24, 30)]
def rng(t):
for pat, lo, hi in RULES:
if re.search(pat, t): return lo, hi
return 24, 39
left = list(mains)
def pick(t):
lo, hi = rng(t)
for i in left:
if lo <= wk(d['p'][i]) <= hi: left.remove(i); return i
raise SystemExit('没有合适人设:' + t)
for k, l in enumerate(lines):
parts = l.split('||')
likes = max(3, int(520 * (0.965 ** k)) + rnd.randint(-18, 18))
rr = []
for t in parts[1:]:
rr.append([reps[ri], t]); ri += 1
out.append([mains[k], parts[0], likes, rr])
out.append([pick(parts[0]), parts[0], likes, rr])
# 11-07 用户:「评论里也加一些孕早期的孕妈,看到别人有胎动也有期待,也有自己的话对孩子说;都要真人感」
# early.txt = 孕 6~13 周人设的留言(回复用孕中晚期/宝妈人设,像过来人);均匀插进前 100 条中间,不全堆在后面
# early_rep.txt = 「原留言开头|早孕妈妈的回复」,挂在已有留言楼里(「看你们说胎动好羡慕」这类)
early_p = sorted([i for i, p in enumerate(d['p']) if 6 <= wk(p) <= 13 and i not in set(reps)], key=lambda i: (used[i], i))
early_p = take(sorted([i for i, p in enumerate(d['p']) if 6 <= wk(p) <= 13 and i not in set(reps) and not re.search(r'待产|宝妈|老母亲|养娃|学抱娃|拼尿布|麻麻|大宝', p[0])], key=lambda i: (used[i], i)), 51)
er = random.Random(20261108); er.shuffle(early_p)
ei = 0
for t in [l.strip() for l in open('tools/whcm/early_rep.txt', encoding='utf-8') if l.strip()]:

View File

@@ -4,14 +4,14 @@
今天听到你的胎心了,咚咚咚跑得跟小火车一样,医生说一百六,正常,妈妈松了口气||第一次听胎心真的会哭,我也是
刷牙吐、闻到电梯里的香水味也吐,宝宝你是不是不喜欢香味,那妈妈以后不喷了
看大家都在说胎动,好羡慕,妈妈这边你还是一颗小豆子,啥也感觉不到,只能每天摸摸肚子瞎猜你在干嘛||别急,到四五个月就有了,第一下像小鱼吐泡泡
宝宝,妈妈之前胎停过一次,这回每天都提心吊胆,你一定要稳稳地待着,求你了||抱抱你,我也是二次怀孕,现在已经三十周了,会好的
宝宝,妈妈之前胎停过一次,这回每天都提心吊胆,你一定要稳稳地待着,求你了||抱抱你,我之前也胎停过,后来这个上个月生了,好好的,你也会
上班开会的时候困得点头,领导看了我好几眼,妈妈还不敢说,再等等,等你满三个月
今天孕酮出来了,比上周涨了,妈妈在医院门口买了根烤肠庆祝
老家习惯说满三个月才能告诉别人,所以现在全世界只有我和你爸知道你,感觉像有个小秘密
妈妈以前最爱喝冰美式,现在闻一下都想吐,你这口味跟你爸一样,不懂咖啡
宝宝,昨晚梦见你了,是个圆脸的小姑娘,醒来跟你爸说,他说他也想梦见||我怀孕的时候也老做梦,后来生出来真的跟梦里有点像
每天晚上吃叶酸的时候都跟你说一句晚安,不知道你听不听得见,反正妈妈说了
建档那天抽了八管血,妈妈晕针,你爸在旁边握着手,比我还紧张
今天去医院查血,抽了五管,妈妈晕针,你爸在旁边握着手,比我还紧张
看到有姐姐说四维看到小脸了,好期待,妈妈要等好久才能看到你长什么样
肚子还是平的,但妈妈已经开始偷偷看小衣服了,买了一双袜子,就一双,先不多买
宝宝,你来得有点突然,妈妈本来打算明年才要的,但是知道有你那一刻,就觉得刚刚好||意外来的宝宝都是来报恩的,我家这个也是

View File

@@ -4,9 +4,9 @@
宝宝,你半夜两点踢得最欢|看完好想快点被踢醒,现在只有被孕吐吐醒
前三个月吐得太凶|我正在吐的阶段,看到能吃下一碗饭了就有盼头了
你爸已经练了一个月换尿布了|我老公也说要练,我说先把我的孕吐伺候好再说
今天胎心监护半天不达标|还没到做胎心监护的时候,我连胎心都是上周才听到的
今天产检听胎心|我连胎心都是上周才第一次听到的,听完在诊室里哭了
跟你说个秘密,妈妈偷偷把你的B超照片设成手机屏保了|我也设了!虽然只是个小黑圈
今天收拾待产包|收藏了,等我到那时候照着买
宝宝,你的小床到了|我们才刚知道有宝宝,已经在看小床了哈哈
宝宝,你的小床到了|我们才三个月,已经在看小床了哈哈
妈妈晚上睡不着就在网上看别人家的宝宝|我也是,现在每天睡前刷别人家宝宝
今天在楼下慢慢走了四十分钟|我现在连下楼都懒,只想躺着,等过了前三个月我也去走

View File

@@ -10,7 +10,7 @@
今天在地铁上有人给我让座了,第一次,有点不好意思,但是真的谢谢她
妈妈最近腿肿得穿不上鞋,你爸给买了双大一码的拖鞋,丑但是舒服
你在肚子里打嗝,一跳一跳的,妈妈手放上去数了二十多下才停
等你出来,先带你去打疫苗,别怪妈妈,打完给你喂奶||第一针真的心疼,但是得打
等你出来,先带你去打疫苗,别怪妈妈,打完给你喂奶||听说第一针都哭,到时候我负责抱着
这个月花了快两千块给你买东西,你爸说比给他买的多十倍,他没说错
跟你说个秘密,妈妈偷偷把你的B超照片设成手机屏保了,同事都看见了
医生说你偏小一周,妈妈这几天每顿都多吃一个鸡蛋,你争口气长长肉||我家也偏小,多吃牛肉,下次产检就追上了
@@ -20,12 +20,12 @@
前三个月吐得太凶,掉了六斤,现在终于能吃下一碗饭了,谢谢你放过妈妈
妈妈晚上睡不着就在网上看别人家的宝宝,看完更想见你了
你奶奶说你是男孩,你外婆说是女孩,她俩打赌一顿火锅,你看着办||我家也赌了,赌注是一只金镯子哈哈
今天胎心监护半天不达标,护士让我吃块巧克力,你一下子就动起来了,原来你也爱吃甜的
今天产检听胎心,你一直躲着不让听,医生让我吃块巧克力,你一下子就动起来了,原来你也爱吃甜的
宝宝,你的小床到了,你爸装了一晚上,多出来两颗螺丝,不知道哪的
出来以后想哭就哭,妈妈不会说你不坚强,大人也天天想哭
四维看到你的小脸了,鼻子像你爸,嘴巴像我,还行,挺好看
你出生那个月正好过年,红包妈妈先替你存着,长大给你||红包存起来+1,我准备给宝宝开个账户
妈妈产假还剩一百二十八天,每天都掰着手指头算,想多陪你几天
妈妈的产假一共一百五十八天,还没开始休就已经在掰着手指头算了,想多陪你几天
今天在楼下慢慢走了四十分钟,医生说多走走好生,你也配合一下
跟你说,你爸为了你把烟戒了,五个月了,一根没抽,出来记得夸他
小家伙,你最近踢的位置越来越低了,是不是想出来看看了
@@ -44,7 +44,7 @@
你最近动得少了点,妈妈每天晚饭后躺着数你,数够十下才放心
跟你说,你的第一套衣服是妈妈在拼多多抢的,九块九,质量还不错
你爸说等你出来要教你打游戏,妈妈已经驳回了,至少等你上小学||驳回得好,我家那位已经在挑游戏机了
宝宝,妈妈的预产期是二月,那时候冷,你出来记得多穿点
宝宝,妈妈预产期在月底,那时候天已经冷了,你出来记得多穿点
今天上班开会坐了两个小时,你在里面踢了我一个半小时,是在提意见吗
妈妈不求你多聪明,吃饭香、睡觉沉就行,别像我一样天天失眠
上班的时候你在里面一拱一拱的,像小鱼吐泡泡,妈妈在工位上偷偷笑了半天
@@ -66,7 +66,7 @@
今天你踢到妈妈膀胱了,在超市里差点没憋住,跑了好远找厕所
宝宝,你爸给你存了一个奶粉钱的账户,每个月自动扣,他说这是他的仪式感
妈妈想好了,你出生那天的报纸要买一份留着,虽然现在没人看报纸了
今天胎位查了,你头朝下了,乖,就这样别动了||我家还是臀位,在做膝胸卧位,求转
今天胎位查了,你头朝下了,乖,就这样别动了||我家当时也是臀位,做了两周膝胸卧位才转过来
跟你说,你外婆说她生我的时候疼了一天一夜,妈妈听完更想打无痛了
你爸已经开始学做月子餐了,第一道鲫鱼汤做糊了,第二道还行
宝宝,咱家的小区门口有个滑滑梯,等你会走了带你去,排队的小朋友挺多