Программа для определения авторства текста
Программа, определяющая автора текста. Сначала ей нужно дать примеры текстов известных авторов, а она составит их авторские профили. Потом сравнивнит новый неизвестный текст с ними, и пытается угадать, чей он.
Зачем это нужно?
Можно пытаться деанонить анонимные фанфики.
Можно посмотреть, на какого автора похож фанфик сочинения твоего любимого автора, или даже лично тебя.
Да мало ли чего ещё!
И за доступ к этой замечательной чудо-программе я требую не 17.99$, а всего лишь проверить, работает ли она у вас, и если нет, то попытаться зафиксировать ошибку, с которой она закрывается!
СКАЧАТЬ
(требует наличия на компьютере более-менее новой версии .NET framework)
Итак, ты скачал прогу, и теперь ничего не понимаешь. Это легко поправимо.
Архив нужно распаковать в одну папку. Теперь в ней лежит кучка файлов и папка Books. Внутри этой папки есть папка «Имя Проверяемого Автора». Довольно очевидно, что в эту папку и нужно кидать тексты, которые хочется проверить. Есть одна загвоздка. Кидать их нужно в формате .txt, и более того: в кодировке ANSI. Её можно поменять, если выбрать опцию «сохранить как» в блокноте.
Спойлер
Если теперь запустить Author Identification.exe, то в открывшемся окне консоли секунд 10-20 ничего не будет (загрузка профилей), а потом появится это:
Спойлер"! Неизвестный автор\Морковная Вершочка против.txt"://название файла, который проверяется
[1] KaskeT 0.694890330317801 //самый вероятный автор (из тех, чей авторский профиль есть у программы) текста.
[2] Ponyfiction 0.72140454041641 //число от 0 до 1. 0 == совпадение. 1 == самый маловероятный автор.
[3] Krynnit 0.727543570353346
[4] Gedzerath 0.75563035613192
[5] Рик Риордан 0.762613966415208
[6] Джоан Роулинг 0.76583977035177
[7] Kujivunia 0.768009570910708
[8] Толкиен 0.777562907133552
[9] Иван Тургенев 0.790169967571143
[10] Максим Горький 0.798060492664135
[11] Василий Жуковский 0.798693151273407
[12] Аркадий Аверченко 0.801052920307882
[13] Сергей Есенин 0.801289591033575
[14] Иван Гончаров 0.807527623596824
[15] Владимир Короленко 0.812000922674818
[16] Эрнест Хемингуэй 0.815553151895003
[17] Александр Грин 0.819998858275954
[18] Михаил Лермонтов 0.828288933373586
[19] Антон Чехов 0.828468871317553
[20] Николай Некрасов 0.828481731990123
[21] Николай Гоголь 0.834430457274797
[22] Александр Пушкин 0.840109493219289
[23] Джером Джером 0.840463523595542
[24] Сэнди Митчелл 0.849386105731708
[25] Фёдор Достоевский 0.850697377782444
[26] Лев Толстой 0.859570526685045
[27] Жюль Верн 0.87393684187499
[28] Сергей Аксаков 0.879501718192346
[29] Николай Лесков 0.885370676920521
[30] Э. Л. Джеймс 0.887047118126268
[31] Пересвет Исконный 0.8921476326573
[32] Михаил Салтыков-Щедрин 0.896653128153444
[33] Александр Грибоедов 0.908302434867972
[34] Александр Блок 0.922360153317928
[35] Фёдор Тютчев 0.93935372427058
[36] Денис Фонвизин 1
Avg sentence length: 8.57142857142857; Avg word length: 5.25185185185185 //средняя длина предложения и слова в проверяемом тексте
! Неизвестный автор\Морковная Вершочка против.txt is completed in 0.67 seconds and missed by 36; //сколько времени было потрачено на обработку, и на сколько алгоритм ошибся (самопроверка). Последнее работает только в том случае, если имя папки совпадает с именем автора, чей авторский профиль загружен в файл AuthorProfilesToAIL.json.
Чтобы добавить нового автора, нужно сделать следующее:
1) Переименовать папку «Имя Проверяемого Автора» в действительно имя автора.
2) Положить в папку тексты автора (.txt, ANSI кодировка)
3) Если нужно добавить нескольких авторов, то просто добавить нужные папки рядом с предыдущей
4) Запустить New Author Profiles.exe.
5) Подождать, пока в консоли не появится имя последнего из добавляемых авторов
6) Открыть файл AuthorProfilesToAIL_NEW.json любым текстовым редактором, нажать ctrl+A ctrl+C.
7) Открыть файл AuthorProfilesToAIL.json, и скопировать новые профили В КОНЕЦ ФАЙЛА. (Лучше пользоваться notepad++, потому что блокнот открывает такие большие файлы очень долго)
8) Если хочется не добавить новый профиль, а создать свою библиотеку профилей, то всё проще: не нужно ничего копировать, просто переименуйте AuthorProfilesToAIL.json во что-нибудь другое, чтобы сохранить его на всякий случай, а полученный AuthorProfilesToAIL_NEW.json переименуйте в AuthorProfilesToAIL.json
Спасибо за внимание.
22 комментария
А моя прога составляет статистический портрет автора, и сравнивает его с другими.
Вообще, это была моя учебная практика, поэтому у меня есть отчёт, там всё понятнее и подробнее: читать
В планах на будущее — сделать сайт, чтобы всё взаимодействие пользователей с прогой сводилось к загрузке текстовика и кнопке «запросить добавление нового автора в библиотеку профилей». Но пока у меня даже от алгоритма один прототип, так что это всё — очень далёкое будущее.
К тому же, точность определения автора с ростом числа профилей падает нелинейно, очень, очень быстро.
А разве в теорвере не принято обозначать достоверность единицей, а невозможность нулём?
ANSI в 2020проститеПроверил свою «Нефоновую пони», лол, да я ж Достоевский!«Имя проверяемого автора\nefonovaja_poni__a_song_of_twilight.txt»:
[1] Ponyfiction 0.464296641252301
[2] Фёдор Достоевский 0.557772373461408
[3] Gedzerath 0.572996075220941
[4] Рик Риордан 0.574332198396645
[5] Krynnit 0.593393185597338
[6] Михаил Лермонтов 0.599244020596173
[7] Kujivunia 0.604070395371692
[8] Сэнди Митчелл 0.61534484818453
[9] Иван Тургенев 0.634604473219744
[10] Лев Толстой 0.644137720290936
[11] Джоан Роулинг 0.645627227130716
[12] Джером Джером 0.654416802010961
[13] Иван Гончаров 0.671669666219186
[14] Николай Лесков 0.672140602340585
[15] Сергей Аксаков 0.674675904558435
[16] Аркадий Аверченко 0.688268083449047
[17] Жюль Верн 0.694605841842496
[18] Владимир Короленко 0.69882151302688
[19] Михаил Салтыков-Щедрин 0.71720708047094
[20] Антон Чехов 0.719268764776942
[21] Николай Гоголь 0.726114916583956
[22] Василий Жуковский 0.728169248051376
[23] Максим Горький 0.728248187597065
[24] Пересвет Исконный 0.731905879843192
[25] Э. Л. Джеймс 0.736233968874592
[26] Эрнест Хемингуэй 0.741533429150462
[27] Александр Пушкин 0.76560017011748
[28] Александр Грин 0.77300785713712
[29] Александр Грибоедов 0.783096118465505
[30] Толкиен 0.790629535926018
[31] Александр Блок 0.797704955396263
[32] Сергей Есенин 0.822350724979361
[33] Николай Некрасов 0.87422460093595
[34] Денис Фонвизин 0.879935336407504
[35] Фёдор Тютчев 1
Avg sentence length: 14.003; Avg word length: 4.93651360422767
Имя проверяемого автора\nefonovaja_poni__a_song_of_twilight.txt is completed in
0.829 seconds and missed by 35;
— Имя проверяемого автора is completed!
— Выполнено за 6.653секундКороче, вроде бы всё запускается и работает (винда семёрка). На линухе не проверял.