This Project is to complete development of my Cognitive Language Machine and to establish the CustomPrintBooks website. The Cognitive Language Machine is a software tool that will (1) analyze written language by understanding not just vocabulary but also grammar and syntax, and (2) use that analysis to generate customizable user-directed variations. The user interface for the Cognitive Language Machine will be provided by the CustomPrintBooks website. The CustomPrintBooks website will be used to generate customized user-directed variations of public domain, copyright-free books, demonstrating tangible and immediate proof of concept for the Cognitive Language Machine.
One result of my novel approach to comprehension of written language is that I have created and developed tools to assist me in understanding language and how grammar works. The culmination of those efforts is embodied in the Cognitive Language Machine.
Once the Cognitive Language Machine is completed, I feel it is my obligation to give these tools away for free, because I believe education should be available to everyone, and everyone deserves a chance to learn. The educational applications of the Cognitive Language Machine tools will provide an alternative way to help people gain a mastery of language. Educational tools within the Cognitive Language Machine include sentence diagramming, assisted reading, generation of similar sentences to facilitate comprehension, spoken feedback, and examination tools, all of which can be useful in classroom settings.
The CustomPrintBooks website will include a specialized user interface for The Cognitive Language Machine. Based on user inputs, the CustomPrintBooks website will apply the Cognitive Language Machine to generate customized, user-directed variations of public domain, copyright-free books.
The CustomPrintBooks website will serve two additional purposes:
- First, it will provide a level of “proof of concept” for the Cognitive Language Machine by creating a tangible product:on-demand, customized electronic and printed books based on public domain, copyright free novels, such as Pride and Prejudice or Robinson Crusoe, or any of the thousands of public domain books.
- Second, I expect the CustomPrintBooks website to provide a revenue stream to fund my continued research and enhancements relating to the Cognitive Language Machine.
Generating custom books will be a concrete and interesting application of the Cognitive Language Machine, with its “product” (electronic and printed books based on familiar novels) being readily recognizable by and accessible to both technical and nontechnical users. From a practical perspective, the CustomPrintBooks website has low startup costs, low risk, and the potential for net revenues that can fund continued development of the Cognitive Language Machine, including educational tools and applications.
What is my progress to date?
I began work on coding the Cognitive Language Machine over six months ago. Since then, I have made good progress in its development. Below are some examples of preliminary versions of user tools and applications - but please keep in mind these are not yet polished language tools (there may be some bugs, and they are running on an experimental server). These will serve as a foundation for ready-to-give-out-for-free educational tools in the future.
Examples of educational tools
Word swap is a rudimentary word swapping experiment. It also experiments with using a computer voice to read sentences out loud (read button). It finds generic synonyms for whatever word you click on (regardless of any definition that word can mean) - analyzing the resulting sentences part of speech and ruling out answers that disrupt the part of speech tag sequence that do not match the original.
Word Painter is an assistive reading program. It provides a number of tools to people who are struggling with reading. After importing a book, not only are words tagged by part of speech, but clicking a word pulls up the words possible definitions. Hovering over a word shows its synonyms. It also has the ability to read the sentence for you, while highlighting each word as it reads it.
Tell Me What is a tool to explore the origins of words. First you type in a noun, choose which definition of the word you'd like to look up and it will break down the word's origins, and give other examples of words also sharing a common link to the breakdown.
Additional tools in the works
I plan to make additional preliminary version of educational tools and applications available over the next few weeks. Access to them will be available to backers who pledge funds to support my work (see rewards). Here are some examples:
- Grammar/sentence analyzer - Takes a simple sentence and makes it a quiz style “who did what to whom” question with multiple choice answers.
- Grammar explorer - A lookup and easy reference for grammatical terms, with custom generated examples.
- Synonym smasher - A very simple tool that looks up all known synonyms for a word that is entered. When clicking next, it proceeds to look up the synonyms of every synonym ad infinitum.
Use of funding
The modest pledge goal of $20,000 is expected to provide funding, after Kickstarter related expenses and reward costs, sufficient to:
Finish development of the Cognitive Language Machine at a functional level sufficient to support application to the CustomPrintBooks website project (proof of concept).
Purchase equipment and supplies to start up the CustomPrintBooks website (primarily printers, book binding machines, paper and other supplies).
Pay the costs of domain names, registration fees, rack space and hosting fees, SSL certificates, merchant accounts, and similar expenses.
Pledges beyond the goal level will be used for further development of the Cognitive Language Machine, including its educational applications.
I am blessed and grateful to have a wonderful and talented group of friends and family members helping with this project (especially my supportive parents). Numerous people have been involved with this project, in particular Ellen Kizik and Malarie Piercy. Ellen has a BA in Political Science and Music Business with a minor in Marketing from Butler University. She is also a fencing coach for IndySabre Fencing Club. Malarie and I attended Indiana University Purdue University-Indianapolis together, where she received a BS in Informatics - Media Arts and Science. Malarie continues to spend her professional time pursuing creative projects and working at the school. Both have “day jobs,” but have graciously carved out hours upon hours from what should have been their leisure time, not only to listen to me ramble but also to help me accomplish the many tasks needed to get the project this far.
Profile of Jon Klopfer
I am a complex person who combines a creative mind with a generous spirit. As a young child, my mother says that I entertained myself well and joyfully explored thinking about complicated ideas and intuitively predicting, inferring, and expanding on the things I was learning.
My Montessori elementary school allowed me the freedom to learn based on my strengths, which was very good for me because, as it turned out, I was diagnosed with a learning disability in written language. From the beginning it was difficult for me to develop the decoding skills needed for reading, and as a result, spelling and writing - and reading - came slowly for me. Despite that, my teachers were amazed at how well I could comprehend written material that I read aloud so poorly. In middle school, my teachers were understanding about my difficulties with handwriting and allowed me to type much of my schoolwork, which also had the benefit of introducing me early to the world of computers.
At Brebeuf Jesuit Preparatory School, I spent my high school years with other students who were high achievers. Brebeuf emphasized high-level thinking skills and I particularly enjoyed science and computer classes as well as composing electronic music. I had a resource teacher to help keep me organized (not easy!). Upon graduation, I enrolled in college to study Informatics, an applied computer science major with an emphasis on computer technology and programming. I also pursued a minor in psychology. Since college graduation (IUPUI - BS in Informatics) I have worked as a software engineer, particularly enjoying programming.
The Cognitive Language Machine is my attempt to make sense of language, including grammar, syntax, and vocabulary. For the first time, some aspects of the English language are beginning to make sense to me! I would like for others to benefit from the tools I have developed, especially people who have learning disabilities. I believe it is my moral obligation to help others. I hope the Cognitive Language Machine accomplishes that goal.
Risks and challenges
As with any software development project, there are of course a number of risks and challenges involved in reaching my objectives for the Cognitive Language Machine and the CustomPrintBooks website.
A fundamental risk is that I may be unable to develop the Cognitive Language Machine to a level that can satisfactorily support the proposed CustomPrintBooks website. While I am confident that I can meet the challenge, this fundamental risk means among other things that the CustomPrintBooks website may never be established and that I may not be able to provide my backers with all of the rewards intended for them. In that event, I believe my backers will at least take comfort in the prospect for the potential open education tools that are or will be developed in the course of my work on the Cognitive Language Machine.
Another risk is the possibility of insufficient demand to commercially justify the CustomPrintBooks website. The key challenges here are marketing and producing a consumer product, whether the PDF or paper version, that is of sufficient appeal and interest. This risk is mitigated by the website’s modest startup costs and by the potential educational and other applications of the Cognitive Language Machine and related tools.
I expect that I will face as yet unknown setbacks as I pursue this project, but with the advice and help of my many talented friends and family members, and with our collective creativity and determination, I am confident of our success.Learn about accountability on Kickstarter
This is what I'm thinking currently-
The educational software, meaning the educational backend server, and the client applications will be Creative Comments Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). I'd like to ensure that the software stay free to the public at the same time not discourage school systems or individual building upon it or adapting it to their own needs. Many of the NLTK packages used in the educational tools are restricted to research and non-comerical use - so I'm just trying to reinforce their licences and not cause any problems.
Some pieces of software such as AngularJS directives and techniques developed along the way (along with more general programming framework type elements) will not be restricted in any way. I'll share them for everyone to learn from, use, or adapt, for whatever purpose they wish.
The CustomPrintBooks application is a separate application that I will be developing as I continue to explore language and create new tools. Because it is for-profit I cannot use many of the NLTK packages I've using for education. I'm not sure actually what I'm going to open up about this specific application... it depends on the various pieces of it. I'd like to make open as much of it as I can, while still protect the ability to generate revenue and its application. As I move closer to its completion I'll know more.
I'm using technology that is very familiar to me- mainly because I enjoy rapid development. I don't have the time to learn totally different ways of doing things. What I am used to will more then suffice for this project. Of course once the ball is rolling I'm not against optimizing the stack or using other technologies.
These listed technologies are not all I have experience with, just ones that are worth mentioning for this project (so far). I'm trying to not be overly specific. This list is mostly about the educational tools of course. It's just what comes to mind.
___ NLTK (Natural Language Toolkit)
____ Various corpora and models
___ Bottle w/ gevent & cork (and some possibly some CherryPy servers) for writing API servers and processing for async client requests.
___ Of course I include CSS3, and HTML5 in this
__ AngularJS, AnguarUI (bootstrap), JQuery where I need it
- Probably won't use it, but I could always do apps in QtPy if I needed to.
- Possibly Django for any larger site (excluding async API calls, I'd use it mostly for templating, session management, and admin features) -- I have experience doing large projects (eCommerce) using Django.
- I'm also experienced using ExtJS (writing custom widgets and using their beautiful graphs) but I don't think I can use it commercially without a license - so very doubtful I'll use it in production for anything.
Support this project
- (30 days)