|
|
@@ -628,6 +628,7 @@ async def find_tree_nodes_by_conditional_ratio(
|
|
|
node_belonging_dim_platform: Optional[dict[str, str]] = None
|
|
|
dim_source = ""
|
|
|
derived_dim_names: list[str] = []
|
|
|
+ derived_items_len = len(derived_items or [])
|
|
|
if log_id and str(log_id).strip():
|
|
|
derived_dim_names = _load_derived_dim_tree_node_names(
|
|
|
account_name, post_id, str(log_id).strip(), int(round)
|
|
|
@@ -648,6 +649,11 @@ async def find_tree_nodes_by_conditional_ratio(
|
|
|
else:
|
|
|
dim_source = "未读到 derived_dims(无对应维度分析文件或为空),未收窄"
|
|
|
|
|
|
+ # 当 derived_items 太多时,用 derived_dim_names 作为条件概率计算锚点:
|
|
|
+ # 将每个 derived_dim_names 的 name 都映射为 (topic=name, source_node=name)。
|
|
|
+ if derived_items_len > 15 and derived_dim_names:
|
|
|
+ derived_list = [(n, n) for n in derived_dim_names]
|
|
|
+
|
|
|
# 1)账号人设树:按条件概率筛选;帖子选题点匹配仅走账号 match_data(match_derivation_to_post_points)
|
|
|
items = get_nodes_by_conditional_ratio(
|
|
|
account_name,
|