Получить область конкретного входного мира - PullRequest
0 голосов
/ 30 сентября 2019

Я ищу способ получить область входного мира через API Википедии или любой другой модуль, используя python.

Например:

  • Python->язык программирования
  • Байк-> транспортные средства
  • Нью-Йорк -> Город

1 Ответ

0 голосов
/ 30 сентября 2019

Этот вопрос был задан , отвечен и закрыт слишком широко, хотя и почти десять лет назад. Я считаю, что основной смысл этого ответа остается в силе, однако:

Категоризация всегда очень субъективна

Поскольку это было так долго, я немного поигрался с различнымиПредложения API онлайн, и все они имеют свои сильные и слабые стороны.

API Википедии не принес мне хороших результатов, и даже поиск / просмотр страниц будет сложным, потому что, например, поискдля "велосипед" ведет вас прямо на страницу велосипеда. Но поиск «Нью-Йорк» приведет вас к странице неоднозначности. Я не верю, что вы можете рассчитывать на неоднозначность, чтобы всегда иметь «самый желательный» выбор в верхней части списка. Например, поиск по python возвращает страницу устранения неоднозначности с желаемой категорией языка программирования 9-й в списке. Кроме того, когда вы получаете результаты JSON, они не сегментируются так, что вы можете легко выбрать «is» или «относится к» out, если вы не ищете (например) сводный текст для некоторых ключевых фраз.

* * * * * * * * * * Из нескольких API-интерфейсов для классификации слов, которые я тестировал, WordsAPI выглядит многообещающим. Я смог получить приличные результаты, посмотрев части ответа Is an Instance Of и Is a Type Of с примерами, которые вы предоставили. Но он доступен только на английском языке (не уверен, является ли это проблемой или нет).

Wikidata.org также дал некоторые достойные результаты и позволяет сортировать по «релевантности», что помогает сохранять наиболее вероятные ответы наВверх. Вот поиск для python, который фактически создает список с языком программирования вверху.

Если бы это был мой проект, я бы, вероятно, начал с Wikidata и БОЛЬШОГО спискаслова с желаемыми категориями для проверки. Затем поработайте над своей логикой синтаксического анализа, чтобы поймать как можно больше вариантов, насколько это возможно, в конечном итоге вы будете полагаться на естественный язык.

Кстати, ни один из API-интерфейсов, которые я тестировал за пределами Википедии / Wikidata, ничего не возвращалсвязанный с компьютером для Python.

...