-
Notifications
You must be signed in to change notification settings - Fork 16
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
I plan to sound my programmatically-generated yawp above the repos of the world. #59
Comments
Eh, I killed the fork, since no code-pulls would be merged. But papa's got a brand-new repo with blatantly stolen code and some start of resource-notes. |
I'm commenting perhaps a bit excessively in some issues here, but I'm putting more notes into sub-folder README.md files in the repo. I've worked with text generators, but mostly markovian and for small works where coherence doesn't matter so much. Working on a work of such a length, and thinking about the implications (does it have to cohere? What is a novel? etc.) are good for me, and even if I don't generate anything I'm playing with a lot of code and thoughts. |
Those are great notes, Michael, thanks! |
I thought somebody, in some issue, talked about the idea of making a physical machine version of their generator; I can't find that back. But I present to you the Eureka, a machine for generating Latin verses. cf Wikipedia entry. The wikipedia entries on generative art, subsection "literature" and Electronic literature could do with some additions and editing. Perhaps there is a lot about this on wikipedia -- but if so, it needs to be xreffed more. |
Wonderful! |
I'm "wasting" a lot of time playing with things that don't lead to a "novel." But, there is that. Here's a preliminary text from the screenplay gen: https://gist.github.com/MichaelPaulukonis/7566416 Basically, one script separates out characters and dialogue from a screenplay; a second script randomly mixes the characters from one file with the dialogue from a second file. |
|
Haha! I dedicated few minutes to make something out of stage directions in Shakespeare plays. I tried parsing out all the verses and keep only the stage directions (he stabs, they fight, he climbs on the balcony, dies). I also was thinking about a system that would generate screenplay schema out of stage directions (automatically drawing arrows or skulls to show where the characters enter, die etc) It was only moderately fun. Hamlet ending with everybody dying was not so bad but I can't think of any meaningful way to use this data. I didn't go further with this. |
I like your meme strip |
@lilinx I can't think of any meaningful way to use this data. Why let that stop you? I'm not sure how I'm going to use most of the things I'm working on right now, either. But they give me ideas for other things, or get me to use a new technique, or discover a new library, or.... etc. etc. etc. |
@MichaelPaulukonis If you want to "waste" some more time, here is a thought I had, sort-of inspired by @lilinx's Existing Novel Generator... Fact is, houses and shoes did eventually appear in the world, even if there were, shall we say, some intermediate steps. So, why not try to evolve a novel? In other words: Evolutionary algorithm: start with a seed program which outputs some characters. Make a number of random mutations of this program. Measure their outputs based on a fitness function. Pick the program with the best score, and repeat the process with this "winner" (make a number of random mutations of it, etc.) Fitness function: this could be really complicated, if you wanted something sophisticated and general-purpose, but a simple one might be the Levenshtein distance between the output of the program and the text of pick-your-favourite-novel, say, War and Peace. Although, of course, the measurement would be inverted (low distance = high fitness), and it would probably be good to penalize inserts more than deletions (better for it to generate War and Peace plus extra stuff, than for it to come up short.) I imagine you'd burn a lot of cycles only to get something that produces strings of garbage characters interspersed with occasional |
@catseye what you wrote is so beautiful I think I'm going to read it aloud with Bach's second violin Partita as background music |
What about novel darwinism : an event-based story that works with an event tree. Different stories evolve taking different paths in the event tree. Stories can die (e.g. all characters are dead). First story to reach 50k words wins |
Why not take advantage of crowdsourcing w.r.t. GAs? Many of our novel (It runs the risk of beginning to generate GOOD novels rather than On Thu, Nov 21, 2013 at 2:40 PM, lilinx notifications@github.com wrote:
|
@enkiv2 - I recently found and relost some notes I made from last year regarding a similar idea. I abandoned it, becuase the "fitness algorithm" is the stickler -- relying on the crowd to rank texts will give us another Twilight or 50 Shades. I'd much rather have Finnegan's Wake by way of Gertrude Stein, Stephen King and Jeff Vandermeer. I have a preliminary text with some issues, but some interest. pos-js to obtain the nouns from two (Gutenberg) texts; then replace the nouns in the first with the nouns from the second -- much like the dialogue replacement. Only there are problems. The replacement doesn't seem correct, and the tagging is way off, since "king" is claimed to be a "verb, gerund" which... it isn't. I don't know yet if I've screwed up my install of the tagger, or am scrambling its results somehow.... |
King is indeed a verb. It's used in checkers. "King me" On Tue, Nov 26, 2013 at 11:45 PM, Michael Paulukonis <
|
But it's not a gerund. Someone or some bit misunderstood the "ing" as being
|
Heh, maybe it's the gerund form of, "to k" -- the act of adding a letter (Note: this is not a real verb.) |
Looking at the lexicon , both "King" and "king" appear as "NN", but the last (invariant) transformational rule in the tagger code interprets anything ending with I've hard-coded an exception for the word "king" in my (uncommitted) code, and will keep looking into it. Also, I will probably combine the "NN" and "NNP" tags, and think about dealing with the NNPS and NNS tags. My buggy replace-the-original-noun code is more worrisome. Although interesting: ``'lawyerphonecareerTwoother--asisterMendax'mtelephoneweekenddockIcourt:terrorparanoiaLE -- madness` [....]
I tried to avoid tokenizing the text and looping through it word-by-word to preserve punctuation and everything else, but that may be the only way out. At any rate, the core idea is probably not the most original in the world, but it's the first time I've used anything nlpish, so I'm happy. And it's giving me some great ideas on how to generate templates for my templating-engine. Capitalization cleanup needed, punctuation work, replace all instances of the same noun with one other noun, match noun-replacement to noun-frequency in other text (eg, if "king" is the most-common noun in target, and "computer" is the most-common noun in the noun-source, replace all instances of "king" with "computer"). |
Wow, I love that. Sorry if I was unclear before. I share @MichaelPaulukonis's assumption of what's going on. |
version 2 still had some bugginess in the replace feature. version 3 has much improvement - replacement (not?|less) buggy; better (far from perfect) punctuation removal, matching first-letter captialization of original word. But it has 158797 words. I like a number of the section-titles:
|
positional.js is the poorly-named preprocessor that maps noun in two files. reposition.js is the processor that takes a target text and replaces the previously-mapped nouns with the nouns from another map. source texts from Gutenberg |
Closed by accident (wrong browser tab). |
NOTE: I am thinking that the (to me) interestingness factor of the new text is in no small part attributable to the disparity of the two source texts. If I applied this method to two of Jane Austen's novels (say), the amusing discontinuities would not be as prevalent. |
Hail and well met, brave sir.
The frequent appearance of WANK in all caps is also an interesting effect -- I assume it is an acronym used in Underground, but without that context... yeah... (Oh, for trivia's sake, here's another exciting "gerund": Wyoming) |
@dariusk version 3 is pretty much complete -- I'll be tweaking the algorithm in the future, but not immediately. Can we get a "complete" tag? |
Forked NaNoGenMo, but no code yet.
The text was updated successfully, but these errors were encountered: