gooookim commited on
Commit
2d984e8
·
verified ·
1 Parent(s): 0c2eb61

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -0
app.py CHANGED
@@ -350,6 +350,19 @@ def expand_synonyms(keywords: List[str]) -> List[List[str]]:
350
 
351
  return merged
352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
 
354
 
355
  def build_queries(
@@ -368,6 +381,8 @@ def build_queries(
368
  if not selected_keywords:
369
  selected_keywords = extract_candidates(sentence, max_candidates=10)[:4]
370
 
 
 
371
  # Q1: 기본 AND
372
  q1 = " ".join(selected_keywords).strip()
373
  queries: List[str] = [q1] if q1 else []
@@ -385,6 +400,7 @@ def build_queries(
385
  # g[0]은 원문 유지, g[1]이 있으면 치환된 후보를 우선 사용
386
  combo.append(g[1] if len(g) >= 2 else g[0])
387
 
 
388
  q2 = " ".join(combo).strip()
389
 
390
  # Q2가 Q1과 다르고, 비어있지 않으면 추가
 
350
 
351
  return merged
352
 
353
+ def _dedup_keywords_preserve_order(keywords: List[str]) -> List[str]:
354
+ """
355
+ 의미 중복 제거:
356
+ - 짧은 토큰이 긴 토큰에 포함되면 제거
357
+ - 순서 유지
358
+ """
359
+ out = []
360
+ for k in keywords:
361
+ if any(k != x and k in x for x in keywords):
362
+ continue
363
+ if k not in out:
364
+ out.append(k)
365
+ return out
366
 
367
 
368
  def build_queries(
 
381
  if not selected_keywords:
382
  selected_keywords = extract_candidates(sentence, max_candidates=10)[:4]
383
 
384
+ selected_keywords = _dedup_keywords_preserve_order(selected_keywords) #gk
385
+
386
  # Q1: 기본 AND
387
  q1 = " ".join(selected_keywords).strip()
388
  queries: List[str] = [q1] if q1 else []
 
400
  # g[0]은 원문 유지, g[1]이 있으면 치환된 후보를 우선 사용
401
  combo.append(g[1] if len(g) >= 2 else g[0])
402
 
403
+ combo = _dedup_keywords_preserve_order(combo) #gk
404
  q2 = " ".join(combo).strip()
405
 
406
  # Q2가 Q1과 다르고, 비어있지 않으면 추가