Точность wbsearchentities в API викиданных

В настоящее время я использую MediaWiki API (через SPARQL SERVICE wikidata:mwapi) для запроса сущностей из Wikidata, используя конечную точку wbsearchentities.

Однако я заметил, что результаты поиска не так хороши (например, поиск по charlton или heston не возвращает Чарльтона Хестона среди 10 первых результатов, как можно было бы ожидать), в то время как стандартная конечная точка поиска query?list=search работает лучше.

У меня вопрос: какой алгоритм используется для wbsearchentities и почему он не работает так же хорошо, как стандартный query?list=search?

Мое текущее понимание состоит в том, что wbsearchentities ищет только метки, а query?list=search - полнотекстовый поиск, но это все равно не должно оправдывать это несоответствие в результатах IMO.

Ваше здоровье !


person mhham    schedule 31.12.2018    source источник
comment
из описания API: Поиск объектов с использованием ярлыки и псевдонимы. Возвращает метку и описание объекта на языке пользователя, если это возможно. Возвращает сведения о совпавшем термине. Текст совпадающего термина также присутствует в ключе псевдонимов, если он отличается от отображаемой метки.   -  person UninformedUser    schedule 31.12.2018
comment
Почему вы ожидаете возвращения Чарльтона Хестона в первую десятку? Проверьте этот запрос: SELECT * WHERE { SERVICE wikibase:mwapi { bd:serviceParam wikibase:api "EntitySearch" . bd:serviceParam wikibase:endpoint "www.wikidata.org" . bd:serviceParam mwapi:search "charlton" . bd:serviceParam mwapi:language "en" . ?item wikibase:apiOutputItem mwapi:item . ?num wikibase:apiOrdinal true . } } ORDER BY ASC(?num) LIMIT 20 — в Викиданных так много элементов с именем Чарльтон, что очевидно, что эти результаты будут возвращены w.r.t. сходство строк   -  person UninformedUser    schedule 31.12.2018
comment
Спасибо за ваш комментарий. Основная идея состоит в том, чтобы иметь релевантные результаты поиска. При поиске в строке поиска на веб-сайте викиданных я обычно получаю неплохие результаты поиска, и я полагаю, что они принадлежат query?list=search. Мне просто интересно, почему wbsearchentities не так хорошо работает, и в конце концов, полезен ли он вообще по сравнению со стандартным запросом (может быть, для производительности?)   -  person mhham    schedule 31.12.2018
comment
в порядке. тот же вопрос был задан и дан ответ wi">здесь. надеюсь, что это поможет или хотя бы ответит на вопрос?   -  person UninformedUser    schedule 31.12.2018
comment
кстати, когда я ввожу Чарльтона в текстовое поле в правом верхнем углу стартовой страницы Викиданных, я все еще не получаю Чарльтона Хестона в качестве одного из первых 10 автоматически предложенных элементов.   -  person UninformedUser    schedule 31.12.2018
comment
Обратите внимание: если вы действительно хотите улучшить полнотекстовый поиск, одного сходства строк явно недостаточно. Некоторая мера популярности, например, необходим рейтинг страницы. И я уверен, что в Викиданных этого нет.   -  person UninformedUser    schedule 31.12.2018
comment
Хорошо, это интересно! Тогда мне, вероятно, следует использовать стандартный поисковый API MediaWiki, а не wbsearchentities. Кроме того, ваше замечание относительно рейтинга страниц действительно уместно, так как я недавно наткнулся на это   -  person mhham    schedule 31.12.2018
comment
да, я знаю этих парней и их работу. Они также опубликовали некоторые наборы данных, правда, уже устаревшие: people.aifb.kit.edu/ath Но пересчитать одну из этих мер довольно просто. Тем не менее, вам придется загрузить его в свой собственный тройной магазин. Либо в сочетании с дампом Викиданных, либо только с набором данных рейтинга страниц, что означает один локальный запрос для поиска объекта + удаленный запрос к конечной точке Викиданных для сбора дополнительных данных.   -  person UninformedUser    schedule 31.12.2018
comment
Да, я рассматриваю возможность работы над локальным дампом викиданных, чтобы сделать все это быстрее. Но это другая тема!   -  person mhham    schedule 31.12.2018