INNER CODE UNIT · Python

_table_signal

Laurent00TT/PharosRAG · src/chunker/core.py:89

def _table_signal(body, cap=400):
    """表格的检索信号:表头行(前 2 行,财报常见双层表头)+ 其余每行首个非空单元格(行标签),
    去重拼接、按词边界封顶。**为什么**:表格 chunk 的 text 原本只有 caption+footnote 一句——
    列头/行标签(Revenues / Net income / 年份…)才是"这张表回答什么问题"的语义信号,全锁在
    content_raw(不参与 embed/sparse)里,实测导致数字类问题表格块被散文挤出 top-k
    (Pharos TESTING §3 诊断)。只抽标签不抽数据单元格:数字本身无检索语义,徒增噪声。"""
    if not body:
        return ""
    rows = [[_TAG_RE.sub(" ", c).strip() for c in _CELL_RE.findall(r)] for r in _TR_RE.findall(body)]
    parts = []
    for r in rows[:2]:                                   # 表头(可能双层)
        parts.extend(r)
    for r in rows[2:]:                                   # 行标签 = 每行首个非空单元格
        first = next((c for c in r if c), "")
        if first:
            parts.append(first)
    seen, out = set(), []
    for p in parts:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…