Автоматическое определение авторства текста
Програма буде заснована на методиці визначення авторства тексту. Схожа методика з великим ступенем вірогідності визначає справжнього автора за текстом. Методика не аналізує сюжет, фабулу і художні засоби. Програма проводить свої висновки на основі деякої оцінки відносної ентропії текстів. В оцінці відносної ентропії враховуються такі формальні характеристики текстів, як:
- число службових слів (прийменників, спілок і частинок);
- морфеми, що використовуються в словах (приставки, корені, суфікси, закінчення) і їх послідовності;
- складність використовуваних граматичних конструкцій;
- словник, що використовує автор.
Програмі необхідно виміряти всі ці параметри, щоб вони були зведені в таблиці, що містять змінні, які характеризують письменника. Для автора є своя таблиця у базі даних, яка є авторським еталоном.
При аналізі іншого тексту, відбувається побудова ще однієї таблиці за вхідним текстом. Після цього вхідна таблиця зіставляється з вихідної, і виводиться інтегральна величина для оцінки близькості даного тексту до вихідного. Така інтегральна величина називається відносної ентропією. Програма повідомить якою є відносна ентропія даного тексту. При аналізі тексту також не використовуватимуться власні імена.
З математичної точки зору завдання можна вирішити програмою, що полягає в наступному: подано текст Z невідомого походження; необхідно співвіднести його одному з текстів <!--[if !msEquation]--> <!--[endif]-->, ..., <!--[if !msEquation]--> <!--[endif]-->.
Підхід до вирішення задачі [16] полягає у побудові деякої оцінки відносної ентропії H(B|A) тексту B відносно тексту A. Потім послідовність Z співвідноситься з послідовністю <!--[if !msEquation]--> <!--[endif]--> яка має мінімальну відносну ентропію H(Z|<!--[if !msEquation]--> <!--[endif]-->).
Відносну ентропія є узагальненням поняття ентропії, що вводиться як до теорії ймовірності, так і до теорії інформації [9, 18]. Існує два підходи до визначення ентропії, що призводять до різних обчислювальних алгоритмів її оцінки.
Чисто інформаційне визначення ентропії через складність ввів А. Н. Колмогоров [9]: складністю послідовності літер A є довжина (в двійковому алфавіті) мінімальної програми, яка виводить A, а ентропія A - це її складність, поділена на довжину A в бітах.
Традиційне вірогіднісне визначення ентропії засновано на розгляді ланцюга Маркова n-го порядку на послідовності A, що виходить із ергодичного джерела [18]. Для досить довгих A гарна оцінка ентропії дається деякою функцією <!--[if !msEquation]--> <!--[endif]-->(A), що залежить тільки від частот вживання послідовної n+1 літери у тексті [18]. Аналогічно можна визначити функцію відносної ентропії <!--[if !msEquation]--> <!--[endif]-->(B|A).
Виходячи з результату отриманого Д. В. Хмельовим [16]: в рамках завдання визначення авторства достатньо обмежитись функцією <!--[if !msEquation]--> <!--[endif]-->(B|A), тобто, авторство тексту буде визначатися інформацією про частоту пар літер, що послідовно йдуть у тексті.
Спочатку обчислюються ентропії H(Z|<!--[if !msEquation]--> <!--[endif]-->), ..., H(Z|<!--[if !msEquation]--> <!--[endif]-->) тексту Z відносно текстів <!--[if !msEquation]--> <!--[endif]-->, ..., <!--[if !msEquation]--> <!--[endif]--> всіх авторів кількістю 6 з бази даних. А саме:
Розум і почуття (англ. Sense and Sensibility, 1811);
Гордість і упередження (англ. Pride and Prejudice, 1813);
Менсфілд парк (англ. Mansfield Park, 1814);
Емма (англ. Emma, 1816);
Аргументи розуму (англ. Persuasion, 1817);
Нортенгерське абатство (англ. Northanger Abbey, 1818).
Потім, за допомогою аналогічних ентропійних міркувань, відсікаються автори, які не мають відношення до тексту.
Для оптимізації роботи такої системи слова і словосполучення вихідного тексту можна розбивати на групи за частотою їх вживання, ознаками відповідності одного гнізда, однокореневі та ін., вибудовуючи відповідні залежності.
Навіть простий порівняльний аналіз таких частотних діаграм дозволить вирішити ряд завдань щодо ідентифікації авторства, націленості тексту на певний імператив та ін. Таким чином, частотний аналіз є першим ступенем інтелектуальної обробки і дослідження тексту.
Тобто, виходячи з цього перш за все необхідно порахувати такі кількісні характеристики як:
Довжина речень, тобто середнє число слів у реченні.
Довжина слів, тобто середня кількість складів у слові.
Загальна частота вживання службових слів - прийменників, спілок, частинок, тобто процентний вміст службових слів.
Частота вживання іменників, тобто їх процентний вміст.
Частота вживання дієслів, тобто їх процентний вміст.
Частота вживання прикметників (у відсотках).
Частота вживання прийменника «в» (у відсотках).
Частота вживання частки «не» (у відсотках).
Кількість службових слів у реченні, тобто середнє число спілок, прийменників і часток у реченні.
Отже, алгоритм матиме такий вигляд: на вхід програми буде подаватися декілька текстів. З цих текстів видаляються стоп-слова та знаки пунктуації, складається частотний словник слів текстів, що аналізуються, складається словник маркем для обраного автора, завантажується текст, для якого необхідно визначити чи є обраний письменник його автором, для цього тексту складається словник маркем й робиться висновок про авторство письменника.
Актуальные фриланс-проекты в категории Java
Разработка веб-платформы для трейдинга с интеграцией данных SBPro, отображением кластеров, ликвидностиРазработка веб-платформы для трейдинга с интеграцией данных SBPro, отображением кластеров, ликвидности, крупных лимитных заявок (Clouds), HeatMap и автоматическими настройками индикаторов для различных таймфреймов Этап 1. Подключение к Transaq API Получение рыночных данных в… Java, Веб-программирование ∙ 38 минут назад ∙ 15 ставок |
Кастомизация экрана загрузки и меню Minecraft 1.12.2 (Tech Survival)
906 UAH
Необходимо доработать готовый клиент Minecraft 1.12.2 с модами и внедрить собственный дизайн интерфейса в стиле технического выживания (Industrial / Tech Survival).Что нужно сделать1. Кастомный экран загрузки модов Необходимо заменить стандартный экран загрузки Minecraft/Forge,… Java, Разработка игр ∙ 19 часов 20 минут назад ∙ 4 ставки |
Інтеграція в CRM модулів сканерів стоматологій
27 000 UAH
Мы разработали CRM систему для взаимодействия с зубными врачами и лабораториями. Нужно интегрировать сервисы iTero, sirona, medit и др чтобы подтягивались файлы автоматически AI и машинное обучение, Java ∙ 19 часов 59 минут назад ∙ 19 ставок |
Разработка простых 2D-игр (Змейка, Галактика и т.д.) под Google Play MarketЗдравствуйте! Ищу разработчика (или начинающего с хорошей базой), который сможет создать несколько простых классических 2D-игр для мобильной платформы Android с дальнейшей публикацией в Play Market.Для начала нужно разработать одну-две игры. Примеры сеттинга и механик:… Java, Разработка игр ∙ 2 дня 23 часа назад ∙ 17 ставок |
Создание приложенияЖелаю создать мобильное приложение для общения, в приложении должны быть аудио, видео звонок, создание групповых чатов, возможность синхронизировать с контактами телефона, настройками аккаунта: привязка по email, 2fa, номеру телефона, возможность настраивать уведомления… Java, Python ∙ 7 дней 17 часов назад ∙ 40 ставок |