Touch Nothing but the Lamp


My intention was to create a from-scratch tool, called Bitwise, and a series of projects that demonstrate its various features and capabilities. All by the end of January, when I resume my masters program. It's become painfully clear that I'm overscoped, by several orders of magnitude.

So instead, I'm going to take my best idea from this project and run with it.

I don't regret the time that I've spent designing Bitwise, even though most of it will have to be shelved. If you're reading this, I assume you have some interest in procedural methods for text generation. Well, you don't need me to show you how to generate strings of text using grammars, because Improv and Tracery have you covered, and my time is better spent not reimplementing the wheel.

The innovation I want to share with you is encoding information using phrases that the machine knows how to interpret. For example, consider the string, "Susan auditioned and she got the role that she wanted." By encoding some information, we could transform this string to become something like: "Susan auditioned and her practice made perfect because she became part of the cast," or simply, "Susan auditioned gracefully and she got the role." The following information would be part of a data bank:

  1. Susan acts gracefully
  2. To audition is to act
  3. To get the role implies getting the one that you want
  4. Susan is a performer
  5. To act is to perform
  6. Practice makes perfect when performers perform well
  7. People get the role they want when they audition well
  8. When people get a role, they become part of a cast
  • 1&2 give us "Susan auditioned gracefully" from "Susan auditioned"
  • 3 gives us just "she got the role" from "she got the role that she wanted"
  • 4-7 give us "her practice made perfect because she got the role" from "she got the role"
  • 8 gives us "she became part of the cast" from "she got the role"

So this is the new direction and focus of the project.  I still might be overscoped, because there's obviously a lot going on under the hood, but at least not so critically overscoped. For this to work, there needs to be:

  1. A sentence model that can interpret the original string, as well as the info in the bank.
  2. Something that generates mappings from phrases in the string input to possible outputs based on info in the bank.
  3. A way to select an output from the possibilities. This might include measures of redundancy and flags for information that is known or obvious.
  4. Modeling of verb transformations, pronoun substitutions, article additions, etc. that make the data both easy to read, and easy to write.

Thanks for reading, and stay tuned~

Leave a comment

Log in with itch.io to leave a comment.