*cool* tag presentation algorithms

Enrico Zini enrico at enricozini.org
Sat Jul 8 10:30:59 UTC 2006


Hello,

I just committed a much improved 'smartsearch' function to the
experimental branch of debtags:

  svn+ssh://svn.debian.org/svn/debtags/debtags/1.6.0
  (builds with the latest libwibble[1], tagcoll[2] and libept[3])

I implemented both keyword->tag mapping and searching for discriminating
tags.  The interface looks like this:

$ tools/debtags smartsearch image
Tag selection:

1) admin::kernel (47/18805)
2) made-of::lang:pike (7/18805)
3) suite::gimp (7/18805)
4) admin::boot (25/18805)
5) field::biology (8/18805)
6) use::viewing (35/18805)
7) role::aux:dummy (5/18805)

8) special::not-yet-tagged (264/18805)
9) interface::x11 (131/18805)
10) devel::library (128/18805)
11) role::sw:utility (125/18805)
12) x11::application (115/18805)
13) interface::commandline (107/18805)
14) uitoolkit::gtk (70/18805)
18805 packages selected so far.
Your choice (+#, -#, =#, View, Done, Quit):

The first group of tags is relevant to the 'image' search[4], and the
rest is the "significant" tags on the result (those that would eliminate
most packages when chosen either as 'wanted' or as 'unwanted').

It works remarkably well, modulo existing mistaggins or incompleteness
of the tag database.

I'm satisfied for now wrt smart methods to present choices to users.
Time to focus on something else.

TODO-list:

 - bring the code for this down to the tagcoll library
 - upload the new wibble+tagcoll+libept into experimental (or sid).
   This mostly depends on how the work on adept is going.
 - address the tag data, getting updates unstuck: 
    - implement the functionality to allow maintainers to approve tags
      (see my previous mail)
    - see what comes out of the work of Alex.


Ciao,

Enrico

[1] darcs get http://people.debian.org/~enrico/wibble
[2] svn co svn+ssh://svn.debian.org/svn/debtags/tagcoll/2.0
[3] svn co svn+ssh://svn.debian.org/svn/libapt-front/0.4.0
[4] pike appears because they have this cursed blurb in all package
    descriptions:
  Pike is an interpreted, object-oriented, dynamic programming language
  with a syntax similar to C. It includes many powerful data types and a
  module system that, for instance, provides image manipulation
  together, with support for graphics formats like SVG, JPG, PNG, GIF,
  XCF and many others, database connectivity, advanced cryptography,
  XML/HTML parsers and others. To learn more about pike, please visit
  http://pike.ida.liu.se/ Note that some of the Pike features are found
  in other pike7.6-* packages (image processing, mysql, postgresql, sane
  and more).
-- 
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico at debian.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/debtags-devel/attachments/20060708/35b76877/attachment.pgp


More information about the Debtags-devel mailing list