dvorka / mindforger

Thinking notebook and Markdown editor.
https://www.mindforger.com
GNU General Public License v2.0
2.23k stars 136 forks source link

AI: Suggest as you write (typing-assistant w/ sentence completion) #269

Open dvorka opened 6 years ago

dvorka commented 6 years ago

Advanced SayW (beyond current word/FTS/metrics-based method) will be difficult from performance perspective (recommender prototype), but interesting research topic (and possibly differentiator) at the same time.

gekaremi commented 6 years ago

Writing with the machine https://www.robinsloan.com/notes/writing-with-the-machine/

Maybe it will be much for useful with models, trained on different texts corpus, with pre-trained models and ability to make new model from user text library(train model by all papers from dump of some arxiv category)

Typing-Assistant Typing Assistant provides the ability to autocomplete words and suggests predictions for the next word. This makes typing faster, more intelligent and reduces effort. https://github.com/starlordvk/Typing-Assistant

dvorka commented 6 years ago

This is both very interesting and funny - I'm really curious how it would complete my sentences! I will definitely experiment with it to find out how it feels/what it suggests. Obviously it would be very nice feature.

MindForger currently suggests just words + other relevant notes as you write.

I also implemented a simple note description-driven recommender (stemmer > BoW > word intersection metric), but it consumes much more CPU, it's also slow(er) and doesn't give good enough results. But I'm pretty sure that I will be able to tune it so that it can be used as an alternative recommender.

gekaremi commented 6 years ago

Thank you for the great project!

Some more examples, hope helpful There was some more article, i am tried left only useful Software: working demos:

Botnik http://botnik.org/ Predictive text can be used in a lot of ways, like helping you text with less mistakes — or in Botnik Studios’ case, as a tool for creative writing. We tried our hand at using Botnik’s Voicebox, a browser-based software that lets you create your own predictive text keyboard. Subscribe:

Cyborg Writer This is an experimental text editor with a neural text synthesizer.

Feeling writer's block? Hit and an artificial neural network running in your browser will finish your sentence as if it were written by Shakespeare, the US Supreme Court, or Tupac Shakur https://cyborg.tenso.rs/

http://turnitin.com/static/revision-assistant-walkthrough/ for middle school students (article about it https://qz.com/997006/how-a-robot-improved-my-writing/ )

LightKey [windows :( but free and mayve as example] https://www.youtube.com/watch?v=PdXn1uToyMQ

https://textio.com/ Corporate ._. tool for augmented hiring writing. Demo require simple but annoying registration, but funny example

English Syntax Highlighter Not very useful, but astonishing https://english.edward.io

much more similar tools on https://www.producthunt.com/search?q=artififcial%20intellegence%20writing%20tools but most is proprietary and not groundbreaking

videos etc: Editor, an experiment in publishing https://vimeo.com/133766552 http://nytlabs.com/projects/editor.html Editor is an experimental text editing interface that explores how collaboration between machine learning systems and journalists could afford fine-grained annotation and tagging of news articles. Our approach applies machine learning approaches interactively, as part of the writing process, rather than retroactively. This approach can offload the burden of work to the computational processes, and can create affordances for journalists to augment, edit and correct those processes with their knowledge.

Articles:

https://medium.com/@samim/assisted-writing-7adea9aed19

Assisted Writing Reimagining Word Processing https://medium.com/@samim/assisted-writing-7adea9aed19

Why build intelligence augmentation tools? http://blog.mattgauger.com/2017/04/10/why-build-intelligence-augmentation-tools/

Cognitive collaboration Why humans and computers think better together Jim Guszcza, Harvey Lewis, Peter Evans-Greenwood January 23, 2017 https://www2.deloitte.com/insights/us/en/deloitte-review/issue-20/augmented-intelligence-human-computer-collaboration.html

Using Artificial Intelligence to Augment Human Intelligence https://distill.pub/2017/aia/

Piece on “Leibniz, Llull, and the Computational Imagination” in the Public Domain Review http://jonathangray.org/2016/11/12/piece-on-leibniz-llull-and-the-computational-imagination-in-the-public-domain-review/

[warning: a lot of evil corporations ahead] As We May Type https://www.technologyreview.com/s/520246/as-we-may-type/

New A.I. tech helps you write right https://www.computerworld.com/article/2949817/emerging-technology/new-ai-tech-helps-you-write-right.html

AI writing bots are about to revolutionise science journalism: we must shape how this is done https://jcom.sissa.it/archive/17/01/JCOM_1701_2018_E The rise of artificial intelligence has recently led to bots writing real news stories about sports, finance and politics. As yet, bots have not turned their attention to science, and some people still mistakenly think science is too complex for bots to write about. In fact, a small number of insiders are now applying AI algorithms to summarise scientific research papers and automatically turn them into simple press releases and news stories. Could the science beat be next in line for automation, potentially making many science reporters --- and even editors --- superfluous to science communication through digital press? Meanwhile, the science journalism community remains largely unaware of these developments, and is not engaged in directing AI developments in ways that could enhance reporting.

https://www.redbull.com/int-en/iris-ai-the-tool-that-can-read-and-understand-research Right now Iris AI is capable of reading text in research papers and making a fingerprint of the document to determine which topics are being discussed. It's achieved using an algorithm which Iris AI’s designers claim has never been successfully implemented before. But the really useful bit comes from the fact that Iris has read millions of other papers in the past and is capable of learning and including other related concepts, synonyms and hypernyms [a category into which words with more specific meanings fall] in a presentation.

Final thoughts: in some sense, augmented writing is some sort of high-level semantic proofreading, when proofreading is low level augmented writing

dvorka commented 6 years ago

@gekaremi this is excellent overview of relevant projects and great source of inspiration for MindForger - each and every link you listed is interesting from some perspective!

Ad Botnik: I like it's UI - pattern and interaction.

Ad Lightkey: I think that completion from current note text is not that far + I hope to boost it w/ a n-gram based model which I hope will make MindForger capable of quality completions.

Ad english.edward.io: seems to be relatively straightforward application of word embeddings. I plan to use word embeddings for different features implementation (like similarity ranking and clustering) i.e. I hope to make them available from withing MindForger soon.

Ad NYTLABS Editor: I already have a prototype of named entity recognition (NER) which is able to recognize persons, organization names and locations in remarks (dlib integrated in MindForger). I hope to make it available to users soon. Nice thing is that MindForger will be able to load any support vector machine (SVM) model trained by user i.e. anybody will be able to train own SVM model and plug to MindForger to mine desired entities.

Ad "As we may type": I outliners lover and believer. The first predecessor of MindForger (I created almost 20 years ago) was outliner... thank you for this article!

I really appreciate your contribution and time you devoted to writing this post!

gekaremi commented 6 years ago

@dvorka no problem, glad to help. Thank you for project!

gekaremi commented 6 years ago

Sometimes unknown brilliant (and production-ready) examples may be found in main ubuntu repository... image

Presage

the intelligent predictive text entry platform

http://presage.sourceforge.net/

intelligent - multiple language models and predictive algorithms available, uses context to generate relevant predictions fast - implemented in C++ adaptable - learns while predicting, can be trained on users' generated text for additional accuracy multilingual - supports any natural language, its prediction engine can be trained on any text corpora cross-platform - builds on Linux, Windows, MacOS X, Solaris, Maemo, etc. free software - licensed under GPL extensible - core architecture is designed to ease addition and integration of novel predictive algorithms configurable -XML configuration profiles determine the runtime behaviour and predictive functionality flexible - native bindings for C++, C and Python; support for other language via D-Bus service

demo apps http://presage.sourceforge.net/?q=node/44

dvorka commented 6 years ago

@gekaremi this is perfect - you just saved me a lot of time! Presage looks great, it's C++ that builds anywhere and has the compliant license! I will do my best to integrate it and release it soon #719

gekaremi commented 5 years ago

We've trained an unsupervised language model that can generate coherent paragraphs and perform rudimentary reading comprehension, machine translation, question answering, and summarization — all without task-specific training: (link: https://blog.openai.com/better-language-models/)

https://twitter.com/OpenAI/status/1096092704709070851?s=20