Add a new topic-based term selector

Derived from Jeff’s previous work