| 416-621-9348 cgreaves@chrisgreaves.com | |
|---|---|
| Home Site About Services Products |
Table of Contents: Interesting Words (Home); Proof-of-Concept ; The Interesting Words Engine ;
Interesting Words
The Interesting Words Engine started as the core of an indexing tool I wrote while engaged in developing courseware for Louis Florence at Vision Computer Associates in Toronto.
As a Senior Instructor I was often called on to develop specialized course material for specific clients. One-day one-off courses required a workbook of notes, about 40 pages, and an index would be nice.
Everybody loves an index and no-one loves creating one, because it involves the manual placement of hundreds of little {XE} fields.
In Microsoft Word choosing Insert, Index and tables, Index gets you an index, usually at the foot of your document, bit Word builds it only out of those pesky little {XE} fields, and you must insert each {XE} field by hand. Think FOUR HOURS for a serious document.
Microsoft Word gives you an alternative – if you can supply a concordance table, Word will use that to insert those {XE} fields automatically, but you have to build the concordance table yourself, and that's almost as bad as putting in the {XE} fields yourself.
I hate work, so I wrote the Indexer.
Indexes
Take a quick look in the back of any decent book on The origins of the follow-on from the Third Balkan war and you'll find several indices – a general index, an index of generals, an index of weaponry, of battlefields and so on.
Take a closer look at the general index and ask yourself "Why is this word in the index?". No answer, huh? Ask instead "What makes this word interesting?". And in the answer to THAT question, you have the groundwork for an Interesting Words engine, whose front-end ("Proof-of-Concept") is the Indexer.
Indexed words commonly start with a capital letter. Not always, but commonly. Words like "A", "An", "The" are not included in an index, nor are days of the week, months of the year. Words of three letters or less are not included in the index. And so on.
We can encode these requirements in a set of half a dozen verbs, and build a rules-based engine that interprets these verbs.
For example, we can implement a length-of-word rule, but we allow the user to specify the minimum and maxim values for length.
Another example, we can implement a number-of-syllables rule, but we allow the user to specify the minimum and maxim values for the number.
It should be possible to implement a set of half a dozen TYPES of rule and see interesting Words coming out the end.
Loading
Toronto and Mississauga, Friday, March 19, 2010 5:15 AM
Copyright © 1996-2010 Chris Greaves. All Rights Reserved.