Skip to content

Repository files navigation

ovos-skill-wikipedia

PyPI License Python

Wikipedia skill for OpenVoiceOS. Adds a voice interface on top of ovos-wikipedia-plugin, which handles all Wikipedia search and retrieval.

The skill supports two answer modes:

  • Explicit intent: handles utterances that name Wikipedia directly, such as "search Wikipedia for X" or "what does Wikipedia say about X". These always go to this skill.
  • Common Query: handles general knowledge questions, such as "what is X" or "tell me about X", through the OVOS Common Query pipeline. The pipeline asks all registered knowledge skills for an answer and picks the one with the highest confidence score. Wikipedia competes alongside other knowledge skills such as Wolfram Alpha and WordNet.

If you name Wikipedia, this skill answers directly. If you ask a general question, this skill answers only when it has the most confident response among the competing skills.


Installation

pip install ovos-skill-wikipedia

Explicit intent utterances

These always route to this skill because they name Wikipedia explicitly:

  • "Search Wikipedia for Ada Lovelace"
  • "What does Wikipedia say about beans?"
  • "Look up the Pembroke Welsh Corgi on Wikipedia"
  • "Wiki chocolate"
  • "Check wiki for Elon Musk"

Common Query utterances

These go through the pipeline — Wikipedia answers if it wins:

  • "What is a black hole?"
  • "Tell me about the Roman Empire"
  • "Who was Marie Curie?"

Common Query pipeline

When the Common Query pipeline plugin is active, this skill competes against other knowledge skills (e.g. Wolfram Alpha, WordNet) to answer general questions. The pipeline selects the response with the highest confidence score.


Sub-plugins

All sub-plugins are optional. Configure them via ~/.config/mycroft/skills/ovos-skill-wikipedia.openvoiceos/settings.json:

{
  "extractive_qa": "ovos-bm25-solver",
  "reranker": "ovos-bm25-reranker",
  "keyword_extractor": "ovos-rake-keywords"
}

Reranker (reranker)

Wikipedia searches often return several candidate pages for ambiguous topics. A search for "Mercury" can return pages about the planet, the element, or the Roman god. Without a reranker, the skill orders results only by a fuzzy match between the query and the page title or summary.

A reranker re-scores all candidate pages against the original query with a cross-encoder model, and moves the most relevant page to the top. This step improves voice answer quality more than any other setting, because a wrong page pick gives a completely irrelevant spoken answer.

{ "reranker": "ovos-bm25-reranker" }

For better accuracy at the cost of more CPU, use a neural cross-encoder like ovos-flashrank-reranker-plugin.

Extractive QA (extractive_qa)

By default the skill speaks the full introductory summary of the best Wikipedia article, which can be several sentences long. An extractive QA plugin reads that summary and extracts the single passage most likely to directly answer the user's question.

Without extractive QA — "Tell me about Ada Lovelace":

"Ada Lovelace was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine. She was the first to recognise that the machine had applications beyond pure calculation..."

With extractive QA — same query:

"Ada Lovelace was the first to recognise that the machine had applications beyond pure calculation."

Much more natural for a voice interface.

{ "extractive_qa": "ovos-bm25-solver" }

For better precision, use a reading-comprehension model like ovos-roberta-qa-plugin.

Keyword Extractor (keyword_extractor)

The initial Wikipedia search can return no results for conversational phrasing, such as "tell me more about that thing on the moon". When this happens, the keyword extractor pulls the most relevant terms from the query and retries the search with a cleaner keyword.

Without it, over-specific or colloquial queries silently return nothing. With it, the skill recovers and finds the right page in most cases.

{ "keyword_extractor": "ovos-rake-keywords" }

License

Apache 2.0 — see LICENSE.

About

wikipedia skill for OpenVoiceOS

Topics

Resources

Contributing

Stars

11 stars

Watchers

5 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages