Кіріспе
Ақымақтық мәтін генераторы. Диссоциацияланған баспасөз – пародия генераторы (мағынасыз мәтін жасайтын компьютерлік бағдарлама). Жасалған мәтін Марков тізбегі техникасын пайдаланып, басқа мәтін негізінде құрастырылады. Атауы "Associated Press" және психологиялық термин – диссоциациямен байланысты (дегенмен, сөз арасының шатасуы афазия және шизофрения сияқты жағдайларға тән, бірақ қарапайым адамдар оны көбінесе диссоциативтік жекелік бұзылысымен шатастырады). Алгоритмнің нұсқасы Emacs жүйесінде қолжетімді. Тағы бір нұсқасы CPAN-де Games::Dissociate Perl модулі ретінде бар.
Dissociated press is a parody generator (a computer program that generates nonsensical text). The generated text is based on another text using the Markov chain technique. The name is a play on "Associated Press" and the psychological term dissociation (although word salad is more typical of conditions like aphasia and schizophrenia – which is, however, frequently confused with dissociative identity disorder by laypeople). An implementation of the algorithm is available in Emacs. Another implementation is available as a Perl module in CPAN, Games::Dissociate.
Алгоритм
Алгоритм бастапқы мәтіннен бірнеше сөзді (немесе әріптерді) қатарынан басып шығарудан басталады. Содан кейін ол бастапқы мәтінде осы уақытқа дейін басылған соңғы бірнеше сөзді немесе әріптерді іздейді. Егер бірнеше оқиға табылса, ол кездейсоқ біреуін таңдап, таңдалған оқиғадан кейінгі мәтінді басып шығарады. Мәтіннің алдын ала белгіленген ұзындығы басылғаннан кейін, жаңа басылған соңы үшін іздеу процедурасы қайталанады. Сөздер мен тіркестер белгілі грамматикалық контекстте пайда болатынын ескерсек, нәтижедегі мәтін көбінесе грамматикалық жағынан дұрыс болып көрінеді, ал бастапқы мәтін стилі жағынан біркелкі болса, нәтиже ұқсас стиль мен тақырыпқа ие болып көрінеді және оқырманға оның нақты емес екенін анықтау үшін белгілі бір күш салу қажет. Алайда, құрастыру процесінің кездейсоқтығы оны кез келген логикалық байланыстан айырады – әлсіз байланысты бөліктер мағынасыз түрде біріктіріліп, күлкілі түрде абстрактілі, кездейсоқ нәтиже тудырады.
Тарих
Диссоциацияланған пресс алгоритмі HAKMEM (1972) №176 тармағында сипатталған. "Диссоциацияланған баспасөз" атауы алғаш рет Emacs іске асырылымымен байланысты болған. Брайан Хейс 1983 жылдың қараша айында "Scientific American" журналында Травестия алгоритмін талқылады. Мақалада Уильям Фолькнердің бұрмаланған мәтін үзіндісі келтірілген:
Ол үстелге шыққанда, ол кірді. Компанияны бүлік пен қан төгістен қорғау үшін менің қалтама ешқашан кірмеген. Ол сөйлегенде: "Маған автобус билеті туралы айтсаң, тіпті жағдай туралы жазбаларды да жазбауға болады. Сосын заң пышақпен қайтып келеді!" Джонс Хопкинс университетінің Хью Кеннер мен Джозеф О'Рурк 1984 жылдың қараша айында BYTE журналында микрокомпьютерлерге арналған жиілік кестесіне негіделген Travesty генераторын талқылады. Мақалада генератордың екі нұсқасының Turbo Pascal коды келтірілген, біреуі Хейз алгоритмін, екіншісі Клод Шаннонның Hellbat алгоритмін пайдаланады. Мюррей Лессер 1985 жылдың шілде айында журналға BASIC тілінде құрастырылған нұсқасын ұсынды, 1985 жылдың қыркүйек айында Питер Уэйннер жиілік кестелерінің орнына ағаш құрылымдық деректерін қолданған нұсқасын ұсынды, ал 1985 жылдың желтоқсан айында Нил Дж. Рубенкинг Turbo Pascal тілінде жазылған және жиілік ақпаратын B-ағашында сақтайтын нұсқасын ұсынды.
When he got on the table, he come in. He never come out of my own pocket as a measure of protecting the company against riot and bloodshed. And when he said. "You tell me a bus ticket, let alone write out no case histories. Then the law come back with a knife!" Hugh Kenner and Joseph O'Rourke of Johns Hopkins University discussed their frequency table based Travesty generator for microcomputers in BYTE in November 1984. The article included the Turbo Pascal source for two versions of the generator, one using Hayes' algorithm and another using Claude Shannon's Hellbat algorithm. Murray Lesser offered a compiled BASIC version in the magazine in July 1985, in September 1985 Peter Wayner offered a version that used tree data structures instead of frequency tables, and in December 1985 Neil J. Rubenking offered a version written in Turbo Pascal that stored frequency information in a B tree.