Navibot is still under development. It is not running unsupervised—all of its edits are being approved by its human developer, johndburger.

The intent is that the bot find missing disambiguation entries and add them to the appropriate DAB page.

Here's an example of the kind of edit the bot is able to make. It discovered that the disambiguation page 100% did not yet point to the articles 100% (Negazione album) and 100% (compilation series), and, with human approval, it added new entries to the DAB page. The bot is currently able to determine:

  1. Which entries are missing from which DABs (offline, by examining database dumps)
  2. How to style the entry—in the first case, using italics, just as in the target article.
  3. A short descriptor to attach to the entry—in this case extracted from each target's lead sentence
  4. Where in the disambiguation page to place the new entries

All of these are currently implemented, using Postgres and the pywikipedia framework. 1 and 2 are fairly straightforward. 4 might be a little tougher for DAB pages with sections, but the bot currently punts on such pages—it will only edit DABs with a recognizably simple structure. 3 is currently working, but the descriptors are often too long, as in the example edit.

Currently all of these subtasks are accomplished with fairly simple-minded and conservative heuristics, but eventually Navibot will use machine learning to figure out how to do all of this, generalizing from the millions of existing DAB entries.

Comments are welcome on the bot's talk page.