🔧 REDUCING FLANGE 분류 로직 강화
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- 다양한 REDUCING FLANGE 패턴 대응 (REDUCING FLANGE, RED FLANGE, REDUCER FLANGE 등) - FLANGE + REDUCING 조합 키워드 감지 로직 추가 - 우선순위 검사 강화로 FITTING 분류 오류 방지 - 원인: REDUCER 키워드로 인한 FITTING 분류 문제 해결
This commit is contained in:
@@ -129,10 +129,31 @@ def classify_material_integrated(description: str, main_nom: str = "",
|
||||
# 1단계: Level 1 키워드로 타입 식별
|
||||
detected_types = []
|
||||
|
||||
# 특별 우선순위: REDUCING FLANGE 먼저 확인
|
||||
if "REDUCING FLANGE" in desc_upper or "RED FLANGE" in desc_upper:
|
||||
# 특별 우선순위: REDUCING FLANGE 먼저 확인 (강화된 로직)
|
||||
reducing_flange_patterns = [
|
||||
"REDUCING FLANGE", "RED FLANGE", "REDUCER FLANGE",
|
||||
"REDUCING FLG", "RED FLG", "REDUCER FLG"
|
||||
]
|
||||
|
||||
# FLANGE와 REDUCING/RED/REDUCER가 함께 있는 경우도 확인
|
||||
has_flange = any(flange_word in desc_upper for flange_word in ["FLANGE", "FLG"])
|
||||
has_reducing = any(red_word in desc_upper for red_word in ["REDUCING", "RED", "REDUCER"])
|
||||
|
||||
# 직접 패턴 매칭 또는 FLANGE + REDUCING 조합
|
||||
reducing_flange_detected = False
|
||||
for pattern in reducing_flange_patterns:
|
||||
if pattern in desc_upper:
|
||||
detected_types.append(("FLANGE", "REDUCING FLANGE"))
|
||||
reducing_flange_detected = True
|
||||
break
|
||||
|
||||
# FLANGE와 REDUCING이 모두 있으면 REDUCING FLANGE로 분류
|
||||
if not reducing_flange_detected and has_flange and has_reducing:
|
||||
detected_types.append(("FLANGE", "REDUCING FLANGE"))
|
||||
else:
|
||||
reducing_flange_detected = True
|
||||
|
||||
# REDUCING FLANGE가 감지되지 않은 경우에만 일반 키워드 검사
|
||||
if not reducing_flange_detected:
|
||||
for material_type, keywords in LEVEL1_TYPE_KEYWORDS.items():
|
||||
type_found = False
|
||||
# 긴 키워드부터 확인 (FLANGE BOLT가 FLANGE보다 먼저 매칭되도록)
|
||||
|
||||
Reference in New Issue
Block a user