발견/검색어의 물음표 처리
검색 문제
위키미디어 검색 팀은 최근 검색 쿼리 기능과 쿼리가 반환하는 결과 수에 대한 통계 분석을 완료했습니다. 0의 결과를 얻을 가능성이 더 높은 검색 쿼리의 두 가지 기능은 따옴표로 묶인 문자열(예: "xyz"
)과 물음표로 끝나는(예: xyz?
)입니다. 여기에서 ?
로 끝나는 쿼리의 문제를 살펴보겠습니다. 최종 캐릭터로.
현재 물음표는 와일드카드로 사용할 수 있으며 모든 문자와 일치합니다. 예를 들어 wiki?edia
를 검색하면 wikipedia
와 wikimedia
모두에 대한 결과를 얻을 수 있습니다. 그러나 많은 사용자가 이것을 모르고 더 일반적인 목적으로 물음표를 사용합니다.
또 다른 예로, 사용자가 영어 위키백과에서 how old is Tom Cruise?
물으면, 마지막 단어 Cruise?
는 cruiser
, cruises
, cruised
, Cruise’s
와 일치할 수 있지만 Cruise
와는 일치하지 않습니다. 이러한 유형의 쿼리는 예상치 못한 일반적으로 좋지 않은 결과를 줄 수 있습니다.
우리가 이것을 발견한 방법
영어, 독일어, 스페인어, 러시아어, 프랑스어, 포르투갈어, 일본어, 이탈리아어, 폴란드어, 중국어 등 10개의 위키백과에서 물음표로 끝나는 쿼리를 분석했습니다. 마지막 물음표가 있거나 없는 쿼리를 다시 실행했습니다. 마지막 물음표를 제거하면 결과가 3개 미만인 전체 쿼리 수와 마찬가지로 결과가 0인 쿼리 수가 감소했습니다.
10개 언어 중 6개 언어(영어, 독일어, 스페인어, 프랑스어, 포르투갈어 및 이탈리아어)로 샘플링된 ?-최종 쿼리를 수동으로 검사한 결과 쿼리의 대다수가 실제로 질문인 것으로 나타났습니다. 이것은 사용자가 일반적으로 물음표를 사용할 때 의도적으로 와일드카드를 사용하려고 하지 "않는다"고 믿게 합니다.
참고 사항
- 문서가 물음표(예를 들어,
Who's Afraid of Virginia Woolf?
)로 끝나는 경우 검색 결과는 여전히 해당 문서를 포함하는 쿼리를 반환합니다. - 전체가 물음표와 기타 구두점(e.g.,
??? ???-??
또는?...?.,??
)으로 구성된 쿼리가 있습니다. - 일부 스페인어 위키백과 쿼리는 역물음표(
¿
)를 사용했는데 일반적으로 문제가 되지 않습니다. - 다른 스페인어 위키백과 쿼리는 좋은 검색 결과를 얻는 데 문제를 일으키는 역물음표 대신 선행 물음표(예를 들어,
?cuantos años tiene Tom Cruise?
)를 사용했습니다. - 일부 쿼리에는 여러 개의 물음표(예를 들어,
how old is tom cruise??
)가 있습니다. 와일드카드로?
처리, 이것은 일치하는 단어에서 두 개의 추가 문자를 찾습니다. 예를 들어,cruise??
는cruisers
와 일치하지만Cruise
는 일치하지 않습니다. - 일부 쿼리에서 마지막 물음표는 공백으로 구분됩니다(예를 들어,
how old is tom cruise ??
). - 여러 개의 물음표가 있는 많은 쿼리는 여러 개의 질문(예를 들어,
how? why?
)입니다. - 단일 쿼리의 여러 질문 사이에 공백이 없는 경우가 있습니다.
- 물음표가 있는 소수의 쿼리는 잠재적인 와일드카드 쿼리이지만 대부분의 쿼리에는 초기 물음표가 포함되어 있으므로 결과를 반환하지 않습니다.
자세한 분석은 더 읽을 수 있습니다.
도움이 될 수 있는 가능한 솔루션
현재 쿼리에서 물음표를 처리하기 위한 4가지 옵션이 개발 중입니다:
- no: 아무 것도 하지 않고 쿼리를 있는 그대로 두세요.
- final: 쿼리 끝에서 모든 물음표와 공백을 제거하고 검색으로 사용하세요.
- break: 단어 경계가 뒤따르는 모든 물음표를 제거합니다(특히 유니코드 문자가 아닌 문자).
- all: 모든 물음표를 제거하고 공백으로 바꿉니다(단어 경계로 처리).
검색이 물음표를 처리하는 방식을 변경하기로 결정한 경우 이러한 옵션은 사용할 각 위키에 대해 구성할 수 있습니다. 두 번째 옵션(final)을 기본 옵션으로 사용하는 것이 좋습니다.
추가 기능 및 참고 사항
- 인소스 쿼리는 정규식을 사용하기 때문에
insource:
가 포함된 쿼리는 수정되지 않습니다. - 전적으로 구두점(예를 들어,
.,:;?¿!*-
)과 공백으로 구성된 쿼리는 수정되지 않습니다. - 백슬래시(예를 들어,
\?
)로 이스케이프된 물음표는 제거되지 않지만 일반 와일드카드로 작동할 수 있도록 "이스케이프되지 않습니다".
고려해야 할 추가 사항
- 위에서 제안한 솔루션은
¿
대신 사용된 초기?
의 스페인어 사례를 다루지 않으며, 이는 실제로 최종?
를 사용하는 것보다 더 나쁜 문제를 일으킵니다.- 초기
?
를 제거하는 옵션을 번들 또는 별도의 기능으로 추가할 수 있습니다.
- 초기
- 쿼리가 수정되면 적절하게 이스케이프된 쿼리가 포함된 링크를 제공하여 모든 물음표를 와일드카드로 사용하여 검색할 수 있습니다.
- 이는 맞춤법이 수정된 쿼리가 처리되는 방식과 유사합니다.
같이 보기
- mw:Help:CirrusSearch - 현재 검색 기능을 문서화하는 문서
- T133711 - 물음표 관련 작업