Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resources #1

Open
dariusk opened this issue Oct 22, 2016 · 16 comments
Open

Resources #1

dariusk opened this issue Oct 22, 2016 · 16 comments
Labels

Comments

@dariusk
Copy link
Contributor

dariusk commented Oct 22, 2016

This is an open issue where you can comment and add resources that might come in handy for NaNoGenMo.

There are already a ton of resources on the old resources threads for the 2013 edition, the 2014 edition, and the 2015 edition.

@dariusk dariusk added the admin label Oct 22, 2016
@ikarth
Copy link

ikarth commented Oct 22, 2016

Drawing on last year's projects, there's some things to learn from:

Emily Short's Annals of the Parrigues was an interesting project, but from a Resources perspective her end notes on writing for the generator are full of excellent suggestions for how to write your text and when to use different approaches.

Another project I was impressed with was A Time For Destiny by @cpressey. The "Story Compiler" write-up certainly suggests some avenues for future exploration. (And the discussion around it already inspired @enkiv2 to make a goal-driven planner plot generator.)

The Deserts of the West by @mewo2 has also been a source of inspiration; this National Geographic writeup is particularly illuminating, as are the blog posts about its language generator and map generator.

I could go on, there are a ton of interest projects to learn from. But I also want to emphasize that you don't need to get that fancy: if you're looking for an accessible way to jump into making your first book generator, you might want to check out Tracery. (There's also a Python port, if you need that.)

Also, the Gutenberg Python library is back in active development, should you need texts or metadata from Project Gutenberg.

@tra38
Copy link

tra38 commented Oct 23, 2016

I wrote a series of blog posts on dev.to that focuses on NaNoGenMo and text generation. The emphasis of these blog posts is on how to produce "readable" computer-generated text that a human may theoretically like.

As a side-note, all of these blog posts are computer-generated as well (and a link to their source code is provided with each blog post) -- though the techniques I used here are hard to scale, since I needed to handwrite the corpus beforehand. Still useful as proofs of concepts.

I also provided links to several NaNoGenMo novels as well, so you could use these blog posts as a reference guide.

@ikarth
Copy link

ikarth commented Oct 24, 2016

I should probably also mention these libraries:

  • SpaCy is a library for natural language processing in Python that I've been using instead of NLTK lately.
  • WaveFunctionCollapse has just become a thing in the past month or so. Original is in C#; there's a Javascript port and will probably have other implementations in the future. Originally intended for tiled images, but there's been promising work with text.

@dariusk
Copy link
Contributor Author

dariusk commented Oct 28, 2016

This sense2vec thing (using SpaCy + word2vec) seems very promising.

@enkiv2
Copy link

enkiv2 commented Oct 28, 2016

Emily Short posted a resource list yesterday on her blog:
https://emshort.wordpress.com/2016/10/27/casual-procgen-text-tools/

On Fri, Oct 28, 2016 at 12:41 AM Darius Kazemi notifications@github.com
wrote:

This sense2vec https://explosion.ai/blog/sense2vec-with-spacy thing
(using SpaCy + word2vec) seems very promising.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAd6GcVRZCLWEjSc1dRKcw0JdtTGdZf8ks5q4XzpgaJpZM4KdsXR
.

@dariusk
Copy link
Contributor Author

dariusk commented Nov 1, 2016

Ooh, @greg-kennedy just added to Corpora a list of adjectives to describe people. dariusk/corpora@ccf894c

@hugovk
Copy link
Member

hugovk commented Nov 1, 2016

Created for last year's NaNoGenMo, I've updated this JSON of Project Gutenberg metadata:

https://github.com/hugovk/gutenberg-metadata

@ikarth
Copy link

ikarth commented Nov 1, 2016

If you need meter or rhyme for your poetic projects, some resources (mostly found after Emily Short asked a question on Twitter and many people replied with suggestions):

A set of word lists, organized by rythmic feet.

The CMU Pronouncing Dictionary is a dictionary of 134K English words and their pronunciations, including stress. NLTK and Allison Parrish's pronouncingpy library provide Python interfaces to it.

poem-gen, a 2014 NaNoGenMo project by Camden Segal may also be of interest. As is NaPoGenMo 2015 and NaPoGenMo 2016.

Some other resources (which may or may not have been mentioned in previous years):

textacy: higher-level NLP built on spaCy: streaming documents, filter linguistic elements, vectorized and semantic network representations, topic models, language identification...

TextBlob is another Python option for processing textual data and NLP.

KoNLPy: Korean NLP in Python

RiTa: JavaScript/Processing/Node NLP tools for computational literature

Pressagio text prediction system: word completions in Python, etc. (A Python port of Presage)

Lexeme: A constructed language word database, generation, and declension program.

Naive Text Summary Tool

moby: Javascript interface for the Moby Thesaurus

@superMDguy
Copy link

I have a pattern recognizer I'm working on that will look at text and create 'templates' for phrases, with 'variables' where you can insert names, etc.

Example: "Hello, Bob" -> "Hello, {1}".

Currently it's only able to generate templates given two line of text, but I'm working on expanding it so it can scan an entire corpus and find the best template candidates, and convert them to templates. I'll post it here when I'm done.

@enkiv2
Copy link

enkiv2 commented Nov 3, 2016

I should note that my scene-sequel project from last year has been broken
out & generalized so that it can be used as a component in a larger project
(say, by having some other piece of code generate the world-model), and so
anybody who has an interest in using the fuzzy goal-follower code
absolutely should: https://github.com/enkiv2/scene-sequel

On Thu, Nov 3, 2016 at 8:31 AM Matthew D. notifications@github.com wrote:

I have a pattern recognizer I'm working on that will look at text and
create 'templates' for phrases, with 'variables' where you can insert
names, etc.

Example: "Hello, Bob" -> "Hello, {1}".

Currently it's only able to generate templates given two line of text, but
I'm working on expanding it so it can scan an entire corpus and find the
best template candidates, and convert them to templates. I'll post it here
when I'm done.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAd6GaG742W3h5kX_TaJqqeiyof5gF8Fks5q6dQfgaJpZM4KdsXR
.

@ikarth
Copy link

ikarth commented Nov 3, 2016

For those of you working in Java (or the JVM) the Stanford CoreNLP library just released a beta of version 3.7.0. (Interfaces also exist for many other programming languages.)

@superMDguy
Copy link

@enkiv2 made ggc (Generative Grammar Compiler). This is useful for writing story templates.

@enkiv2
Copy link

enkiv2 commented Nov 7, 2016

If anybody is working on poetry (or something where meter matters), this list of words grouped by part of speech and syllable count might be useful: http://www.ashley-bovan.co.uk/words/partsofspeech.html

@accraze
Copy link

accraze commented Nov 22, 2016

Need character names? Here's a NodeJS module that spits out different names of characters from Infinite Jest by David Foster Wallace: https://github.com/accraze/infinitejest-names

@enkiv2
Copy link

enkiv2 commented Nov 22, 2016

@accraze what is the license on this? It might be a good addition to
dariusk/corpora in the names/ or literature/ section.

On Tue, Nov 22, 2016 at 12:29 AM Andy Craze notifications@github.com
wrote:

Need character names? Here's a NodeJS module that spits out different
names of characters from Infinite Jest by David Foster Wallace:
https://github.com/accraze/infinitejest-names


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAd6Ga25h0A4HjB6Fv99_xdeiXQ3uVBXks5rAn2igaJpZM4KdsXR
.

@hugovk
Copy link
Member

hugovk commented Dec 10, 2016

From #114 (comment):

A set of blog posts about writing Annales:

Annales: the gory details in three parts

  1. Vocabularies: using a neural network, Python and regular expressions to generate a nonsense vocabulary
  2. TextGen: a Haskell combinator library for making up randomised sentences (plus a one-paragraph explanation of how the State monad works!)
  3. Events: in which I get bogged down writing a succession algorithm, but also figure out how to correct a typo in a randomly-generated text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants