-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
executable file
·79 lines (53 loc) · 4.03 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
How it works so far
-------------------
Phoneme inventories are generated. The generation process tries to strive for natural-sounding inventories. There are separate consonant, vowel, and diphthong inventory generators.
Phonotactics rules are also generated. A sonority hierarchy is created. Valid consonant clusters for the onset and coda of syllables are generated.
A grammar system is generated. Parameters are selected.
An inflection scheme is selected. Grammatical categories are decided, as well as how they are expressed. Exponents and articles are some of the ways grammatical categories are expressed.
Morphemes (including roots) are generated from the phoneme inventory as well as the sonority hierarchy. The inflection scheme is filled in using this generator.
Meanings (given in English) are assigned a generated root word.
Nonsense ("Colorless green ideas sleep furiously") parse trees are generated and then translated into the language using the generated grammar, inflection, and vocab.
A writing system is selected and the appropriate number of characters are generated as .svg's.
All of the above structures are then parsed by a output function into a text output. This output includes a consonant inventory table, vowel inventory table, list of diphthongs, sonority hierarchy description, exponent/particle tables, a (root) dictionary, a grammar description as well as example sentences, a list of characters, and a folder of character .svg's.
The above describes the language generator, there is also a "morpher" which applies language changes to a parent to get a child language. This is the cornerstone of the language family generator.
Phonological rules are generated and then applied to every morpheme in the parent language to get a new child language.
What needs improving
--------------------
Phonology:
Generated phoneme (especially vowel) inventories are usually much much larger than real life ones.
Some types of sounds should be much rarer. I haven't worked on this because it makes it easier to debug.
Syntax:
The parse tree generator needs a complete overhaul, it's a mess.
It'd be nice if the parameters were more granular, applying one way in certain contexts and another way in others. This would also make syntax changes a little more believable.
I'd like to work in my Minimalist Program parse tree generator, but that has it's own problems.
Inflection:
A more-dynamic grammatical category generator.
Especially grammatical case.
Derivation:
Right now the only morphology we have is what we have for inflection.
Need to shoot for polysynthetic languages, parse tree rework permitting.
Lexis:
Number system generator.
Color system generator.
Domesticated animal terminology, very important.
Semantics:
Meanings should ideally be taken from WordNet.
Each generated language would use a random subset, and instead use hypernyms or whatever to fill in the gaps.
Language changes:
Phonological rules don't allow assimilation. It never references the phoneme's environment in the actual sound change.
Neologisms (regenerate a few words)
Loan words from other branches of the language tree.
A pidgin/creole system that merges two languages.
What needs starting
-------------------
Phonetics:
Right now words are represented as a list of phonemes. The only output so far for a word is the "underlying" form. With a phonological rule generator the list of phonemes can be parsed into a list of phones which will allow the output to display the "surface" form of the word.
This would involve generating a list of phonological rules and then applying those rules in a certain order to each word. This runs counter to optimality theory, but it would be so much easier to implement.
Actually the above could be implemented relatively easily now that we have phonological rules (used for phonological change, though).
Prosody:
I don't know much, might not get this far.
Maybe describe the function of certain intonations.
Describe what filled pauses sound like.
Crazier stuff:
Poetry generator, with like simple AB rhyming
See /doc for more (probably wrong) reading material.