From 24b5aebae4865dc96cf25366554c45e0e10b5733 Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Wed, 21 Oct 2026 17:12:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AB=E6=B3=95=E6=B6=88=E6=AF=92=E6=8C=89?= =?UTF-8?q?=E8=AF=8D=E8=AE=A4=E5=88=A4=E6=96=AD=E8=AF=8D=EF=BC=88scan=20ba?= =?UTF-8?q?re=EF=BC=89=EF=BC=9A=E8=AF=B4=E6=B3=95=E6=A0=B8=E5=AF=B9?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=20scan=20=E7=BC=BA=E7=9C=81?= =?UTF-8?q?=E6=8C=89=E6=95=B4=E5=8F=A5=E8=A7=84=E7=9F=A9=E8=AE=A4=EF=BC=88?= =?UTF-8?q?=E6=B2=A1=E8=AF=B4=E5=8F=98=E5=8C=96=E7=9A=84=E3=80=8C=E4=B8=BB?= =?UTF-8?q?=E8=A6=81=E6=9D=A5=E8=87=AA=E3=80=8D=E4=B8=8D=E7=AE=97=E5=88=A4?= =?UTF-8?q?=E6=96=AD=EF=BC=89=EF=BC=8C=E5=8F=AB=E6=B3=95=E6=98=AF=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=90=8D=E5=AD=97=E4=B8=8D=E6=98=AF=E4=B8=80=E5=8F=A5?= =?UTF-8?q?=E8=AF=9D=EF=BC=8C=E3=80=8C=E4=B8=BB=E8=A6=81=E6=9D=A5=E8=87=AA?= =?UTF-8?q?=E5=8D=8E=E4=B8=9C=E7=9A=84=E9=94=80=E5=94=AE=E9=A2=9D=E3=80=8D?= =?UTF-8?q?=E8=BF=99=E6=A0=B7=E7=9A=84=E5=8F=AB=E6=B3=95=E8=A6=81=E6=95=B4?= =?UTF-8?q?=E4=B8=AA=E4=B8=8D=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/analysis/phrases.py | 5 +++-- backend/tests/test_analysis_phrases_labels_bare.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 backend/tests/test_analysis_phrases_labels_bare.py diff --git a/backend/app/analysis/phrases.py b/backend/app/analysis/phrases.py index e359c473..3ebe0005 100644 --- a/backend/app/analysis/phrases.py +++ b/backend/app/analysis/phrases.py @@ -219,10 +219,11 @@ def _shorten(text: str) -> str: def _judges(text: str) -> bool: - """叫法里有没有说法表的判断词(「主要来自」「历史新高」……)。说法核对在 engine 里,在这里导入免得循环导入。""" + """叫法里有没有说法表的判断词(「主要来自」「历史新高」……)。说法核对在 engine 里,在这里导入免得循环导入。 + 叫法是一个名字不是一句话,按词认(bare):整句话才成立的那些不核的规矩(没说变化的构成、建议计划……)不用。""" from app.engine.analysis_claims import scan - return bool(scan(text)) + return bool(scan(text, bare=True)) def _scrub(text: str) -> str: diff --git a/backend/tests/test_analysis_phrases_labels_bare.py b/backend/tests/test_analysis_phrases_labels_bare.py new file mode 100644 index 00000000..a938e9eb --- /dev/null +++ b/backend/tests/test_analysis_phrases_labels_bare.py @@ -0,0 +1,14 @@ +"""叫法消毒按词认判断词(scan bare):叫法是一个名字,整句话才成立的不核规矩(没说变化的「主要来自」不算判断)对它不适用。""" +from __future__ import annotations + +from app.analysis.phrases import clean_label + + +def test_a_label_that_carries_a_judgement_without_a_change_word_is_still_refused(): + assert clean_label("主要来自华东的销售额") == "" + assert clean_label("集中在周末的订单数") == "" + + +def test_plain_labels_survive(): + assert clean_label("销售额") == "销售额" + assert clean_label("线上订单数") == "线上订单数"