|
|
@@ -16,7 +16,7 @@ import json
|
|
|
import random
|
|
|
from pathlib import Path
|
|
|
|
|
|
-from acquisition.query import ACTIONS, _nonleaf_d4, tactic_multiaxis # 老正交动作轴 / 4级非叶子 / 最老完整多轴
|
|
|
+from acquisition.query import ACTIONS, _nonleaf_d4 # 老正交动作轴 + 4级非叶子取作用节点
|
|
|
from acquisition.query import STAGES as OLD_STAGES # 老的裸阶段 灵感/选题/脚本
|
|
|
from acquisition.query_filter import filter_queries # 共享筛选器(query_filter.txt)
|
|
|
from core.config import Settings
|
|
|
@@ -104,35 +104,29 @@ def main():
|
|
|
def xing(i):
|
|
|
return XING_BATCH[i % len(XING_BATCH)]
|
|
|
|
|
|
- # 第六家族(最老正交方案·去实质):形式 × 阶段 × 动作 × 作用 × 知识类型。
|
|
|
- # 形式/作用 取分类树4级非叶子,阶段=灵感/选题/脚本,动作=ACTIONS(+无动作变体),query 形如「叙事组织 脚本撰写 趣味互动 有哪些」
|
|
|
- F6_FORMS = _nonleaf_d4("形式", 10, under="架构")
|
|
|
+ # 第六、第七家族(老正交方案):实质 / 形式 一律沿用上面的统一批(shi/xing,与 f1/f2 完全一致、同序,便于横向对比);
|
|
|
+ # 阶段=灵感/选题/脚本、动作=构思/策划/组织/撰写/改编/润色(+无动作变体)、作用取4级非叶子。query 形如「(实质) 叙事组织 脚本撰写 趣味互动 有哪些」
|
|
|
F6_ZY = _nonleaf_d4("作用", 10)
|
|
|
F6_STAGE_ACT = [(s, a) for s in OLD_STAGES for a in ACTIONS] + [("", "")] # +「无动作」=老方案的 /
|
|
|
|
|
|
- def gen6(i):
|
|
|
- f_ = F6_FORMS[i % len(F6_FORMS)]
|
|
|
+ def _old_tail(i):
|
|
|
st, ac = F6_STAGE_ACT[i % len(F6_STAGE_ACT)]
|
|
|
zy_ = F6_ZY[i % len(F6_ZY)]
|
|
|
suf = KTYPE[i % len(KTYPE)]
|
|
|
seg = (st + ac) if ac else "" # 脚本撰写 / 空(动作=/ 时连阶段一起省)
|
|
|
+ return st, ac, zy_, suf, seg
|
|
|
+
|
|
|
+ def gen6(i): # 形式×阶段×动作×作用×知识类型,形式=共享批(同 f2)
|
|
|
+ f_ = xing(i)
|
|
|
+ st, ac, zy_, suf, seg = _old_tail(i)
|
|
|
q = " ".join([f_] + ([seg] if seg else []) + [zy_, suf])
|
|
|
return {"parts": {"形式": f_, "阶段": st or "/", "动作": ac or "/", "作用": zy_, "知识类型": suf}, "query": q}
|
|
|
|
|
|
- # 第七家族(最老的多轴正交·完整带实质):实质×形式×阶段×动作×作用×知识类型,直接复用 query.py 的 tactic_multiaxis。
|
|
|
- # 多生成几倍、按 query 去重取前 PER 条(保证唯一,避免生成循环里重复死锁)。
|
|
|
- F7_SEEN, F7_ROWS = set(), []
|
|
|
- for _r in tactic_multiaxis(PER * 4):
|
|
|
- if _r["query"] in F7_SEEN:
|
|
|
- continue
|
|
|
- F7_SEEN.add(_r["query"])
|
|
|
- F7_ROWS.append(_r)
|
|
|
- if len(F7_ROWS) >= PER:
|
|
|
- break
|
|
|
-
|
|
|
- def gen7(i):
|
|
|
- r = F7_ROWS[i % len(F7_ROWS)]
|
|
|
- return {"parts": {k: v for k, v in r.items() if k != "query"}, "query": r["query"]}
|
|
|
+ def gen7(i): # 实质×形式×阶段×动作×作用×知识类型,实质=共享批(同 f1)、形式=共享批(同 f2)
|
|
|
+ s_, f_ = shi(i), xing(i)
|
|
|
+ st, ac, zy_, suf, seg = _old_tail(i)
|
|
|
+ q = " ".join([s_, f_] + ([seg] if seg else []) + [zy_, suf])
|
|
|
+ return {"parts": {"实质": s_, "形式": f_, "阶段": st or "/", "动作": ac or "/", "作用": zy_, "知识类型": suf}, "query": q}
|
|
|
|
|
|
# 每家族:生成器 + 用到的轴。家族名 = axes 用「×」连接,直接反映正交结构(见下方循环)。
|
|
|
# axes 顺序即前端列顺序;业务阶段=脊柱每族必带,模态+知识类型收尾
|