Відкриття/Що робити зі знаками питання в пошукових запитах
Проблема з пошуком
Команда пошуку Вікімедіа нещодавно провела статистичний аналіз рис пошукових запитів і кількості результатів, які ці запити видають. Дві риси пошукових запитів, які мають більше шансів дати нульові результати, це цитований текст (напр.,"xyz"
) і знак запитання у кінці (e.g.,xyz?
). Тут ми розглянемо проблему із запитами, що закінчуються на ?
як останній символ.
Зараз знак запитання доступний для використання як байдужий символ, що відповідає будь-якій літері. Так, наприклад, пошук wiki?edia
дасть результати як для wikipedia
, так і wikimedia
. Однак багато користувачів не знають про це і використовують знак запитання з більш звичною метою: поставити запитання.
Інший приклад: користувач запитує, коли народився Том Круз?
в англійській Вікіпедії, і останнє слово Cruise?
може означати cruiser
, cruises
, cruised
чи Cruise’s
, але не потрібне Cruise
. Цей тип запиту може дати неочікувані і загалом погані результати.
Як ми це виявили
Ми проаналізували запити, що закінчуються знаком запитання у десяти Вікіпедіях: англійській, німецькій, іспанській, російській, французькій, португальській, японській, італійській, польській та китайській. Ми прогнали ці запити з і без знака питання. Потім ми прибрали знаки запитання у кінці, і кількість запитів з нульовими результатами зменшилася, як і загальна кількість запитів, що дали менше трьох результатів.
Ручний огляд прикладів запитів зі знаком запитання у кінці в шести з цих десяти Вікіпедій (англійській, німецькій, іспанській, французькій, португальській та італійській) показали, що переважна більшість запитів насправді були запитаннями. Це змушує нас думати, що користувачі загалом використовують знак запитання не для пошуку за маскою.
Ще дещо
- Якщо назва статті закінчується знаком питання (напр.,
Хто боїться Віджинії Вульф?
), вона таки буде у результатах пошуку. - Є деякі запити, які складаються лише зі знаків питання та іншої пунктуації (напр.,
??? ???-??
або?...?.,??
) - Деякі запити в іспанській Вікіпедії містять початковий перевернутий знак питання (
¿
), що загалом не викликає проблем. - Інші запити в іспанській Вікіпедії мали початковий звичайний знак питання замість перевернутого, (напр.,
?cuantos años tiene Tom Cruise?
), що створювало проблеми з отриманням хороших результатів пошуку. - Деякі запити містять декілька знаків питання (напр.,
скільки років Тому Крузу??
). Розглядаючи?
як маску, такий запит шукатиме дві додаткові літери у слові. Наприклад,cruise??
знайдеcruisers
, але неCruise
. - У деяких запитах кінцевий знак питання відділений пробілом (e.g.,
скільки років тому крузу ??
). - Багато запитів, що містять кілька знаків питання, є кількома запитаннями (напр.,
як? чому?
). - Інколи кілька запитань в одному запиті не містять пробілів між ними.
- Невелика кількість запитів зі знаком питання у кінці є потенційними запитами з маскою, але більшість із них містять початковий знак питання, і тому не видають результатів.
Детальний аналіз доступний для ознайомлення.
Можливі рішення
Зараз є чотири способи, що можна робити зі знаками питання в запитах:
- no: не робити нічого і лишити запити, як вони є.
- final: вилучити усі знаки запитання і пробіли з кінця запиту і робити пошук по цьому.
- break: вилучити всі знаки питання, після яких іде межа слова (по суті, будь який нелітерний символ Юнікоду).
- all: вилучити всі знаки питання і замінити їх на пробіли (сприймаючи їх як межу слова).
Якщо буде прийнято рішення змінити спосіб, в який пошук сприймає знаки запитання, ці опції можна буде налаштовувати для використання у кожній вікі. Рекомендованою опцією за замовчуванням є друга (final).
Додаткові риси і примітки
- Оскільки запити на пошук в джерелах використовують регулярні вирази, запити, що містять
insource:
модифікуватися не будуть. - Запити, що складаються виключно зі знаків пунктуації (напр.,
.,:;?¿!*-
) і пробілів, модифікуватися не будуть. - Знаки питання після оберненої косої риски (тобто
\?
) не вилучатимуться, але вони будуть неуникнуті, тобто сприйматимуться як маска.
Що треба мати на увазі
- Рішення, подані вище, не покривають випадків використання початкового
?
замість¿
у іспанській, що насправді спричиняє більше проблем, ніж?
у кінці.- Спосіб уникнути початкового
?
можна додати зв'язаною чи окремою функцією.
- Спосіб уникнути початкового
- Коли запити модифікуються, ми можемо дати посилання на пошуковий запит із усіма неуникнутими знаками питання, що сприймаються як маска.
- Це буде подібно до того, як сприймаються запити із виправленням правопису.
Див. також
- mw:Help:CirrusSearch - стаття, що документує поточні можливості пошуку
- T133711 - Пов'язане завдання щодо знаків питання