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("线上订单数") == "线上订单数"