File Metadata
File Metadata
- Mime Type
- text/plain
- Storage Engine
- blob
- Storage Format
- Raw Data
- Storage Handle
- 7959133
- Default Alt Text
- tlcrp (2 KB)
Event Timeline
Comment Actions
Tolchirp format (Spoken Language Interest Group)
Topic-Lesson-Choice-Response-Result-Prompt (TLCRP or TLCRRP) "tolchorp" format version 0.5,
mediatype text/tlcrp. It is not YAML but is similar:
// example
%tlcrp // or %tlcrrp or %tolchirp or %tolchorrp or %tolchorp
topic: tolchorp example
level: 1 // CEFR A1
lesson: format
level: 6 // CEFR C2
choice: Are you enjoying the demonstration?
media: beep.mp3
mediatype: audio/mp3;text=filename
response: {affirmative}
result: good
response: {negative}
result: bad
response: what
result: Are you enjoying the demonstration?
freeform: true
choice: good
media: Excellent!
choice: bad
media: I'm sorry to hear that.
prompt: {affirmative}
words: yes|yeah|sure|ok|fine|ja|si
prompt: {negative}
words: no|nah
// format
[%tlcrp] // this text following two slashes is a comment
topic: text [{name}] // text with optional name in braces
level: _ // 1 means A1, 6 means C2
lesson: text [{name}] // text with optional name in braces
// optional level (default is topic's)
choice: question [{name}] // text with optional name in braces
// body of choice unnecessary if same text (and name) is defined elsewhere
// optional activity (text e.g. "assignment <URL>"), disabled (true/false),
// proofread (as past tense adjective: default true=good, false=iffy),
// media (text, file descriptor or base64), mediatype, and level
response: prompt display text [{name}]
result: [choice question text and/or name] // final state if missing
// optional terminal (true means next choice is last; default is false),
// activity (e.g. "assignment <URL>"), action (e.g. "[%python\n]..."),
// plus as below for unnested prompts.
[response...]
[choice...]
[lesson...]
[topic...]
// optional unnested items:
topic: text [{name}]
level: _ // 1 means A1, 6 means C2
lesson...
lesson: text [{name}]
// optional level (default is topic's)
choice...
choice: question [{name}]
// body of choice unnecessary if same text (and name) is defined elsewhere
// optional activity (text e.g. "assignment <URL>"), disabled (true/false),
// media (file descriptor or base64), mediatype, and level
response...
response: prompt display text [{name}]
result: [choice question text and/or name] // final state if missing
// optional terminal (true means next choice is last; default is false),
// activity (e.g. "assignment <URL>"), action (e.g. "[%python\n]..."),
// plus as below for unnested prompts.
prompt: display text [{name}]
// optional language (default: en), words (default from display text),
// media (file descriptor or base64), level, phonemes (default from words),
// and freeform (default is false: no keyword spotting)
// schema
Please see https://phabricator.wikimedia.org/F30248764
#!/usr/bin/env python3
import dataset
from sqlalchemy.types import *
...
from autocorrect import spell
from itertools import product
from sklearn.svm import SVC
from sklearn.model_selection import cross_val_score, KFold, cross_val_predict
from numpy import asarray
connect_string = 'postgresql://jsalsman@/sctest?host=/var/opt/gitlab/postgresql'
def create_database(dbname='sctest', clobber=False):
db = dataset.connect(connect_string)
t = db['users'] # makes primary key autoincrementing integer 'id'
t.create_column('email', String(length=100))....
// table format
Topic
Lesson
Choice
Response
Result
Prompt
...
Tolchorrp example
Format
Are you enjoying the demonstration?
{affirmative}
Good
yes,
Yeah
Level 6
Beep
audio/mp3
Good
Excellent!
Bad
I'm sorry to hear that.
What
Are you enjoying the demonstration?
Freeform
{negative}
Bad
no|nah