|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|
Определение автора по тексту16.04.2019, 16:52. Показов 2563. Ответов 14
Метки нет (Все метки)
Доброго времени суток, подскажите пожалуйста, есть задача:
- необходимо загружать текст в программу (например книгу) и указывать ее автора - затем когда небольшой запас был сформирован необходимо по стилю написания книги выявить ее автора (не просто выполнить функцию Contains, а по какому-то алгоритму определить наиболее вероятного автора) - нужно реализовать именно на F#, но флп язык сильно непонятен после ооп на C# - единственное, что придумал это отсортировать текст по словам, вычислить кол-во повторений этих слов и сопоставить в процентном соотношении от общего текста, но даже сгруппировать на F# не получается чтобы получить вид List<{Word: string; Count: int;}> Подскажите куда двигаться, есть ли в интернете нечто похожее с реализацией ? Спасибо
0
|
|
| 16.04.2019, 16:52 | |
|
Ответы с готовыми решениями:
14
Определение стоимости телеграммы по её тексту Ввести массив записей, который содержит Автора и название книги. Вывести на экран те записи, которые имеют одного автора. Заданий рядок тексту. Визначити, скільки разів зустрічається цей рядок тексту в текстовому файлі |
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
||||||||||||||||||
| 16.04.2019, 18:32 | ||||||||||||||||||
|
skew, привет!
Добавлено через 6 минут Вот. У меня в хранилище по F# код такой есть, можешь от него отталкиваться. Он подсчитывает количество вхождений того или иного слова в указанном текстовом файле. Кликните здесь для просмотра всего текста
1
|
||||||||||||||||||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|||
| 16.04.2019, 18:58 [ТС] | |||
|
0
|
|||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
|
| 16.04.2019, 21:40 | |
|
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 17.04.2019, 21:35 | |
|
0
|
|
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
||||||
| 24.04.2019, 16:06 [ТС] | ||||||
|
Подскажите, а как можно в лямбда выражении сохранить промежуточное значение, мне вот нужно посчитать общее кол-во слов чтобы потом высчитать процент их использования от всего текста
0
|
||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||
| 26.04.2019, 20:26 | ||||||
|
примерно так
1
|
||||||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
||||||
| 29.04.2019, 15:46 [ТС] | ||||||
|
Подскажите еще пожалуйста. А как получаемый результат лучше сравнить с уже имеющимися книгами, то есть я считал данные из папки
0
|
||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||
| 29.04.2019, 18:19 | ||
|
0
|
||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
||||||
| 08.05.2019, 15:41 [ТС] | ||||||
|
pycture, не нашел я на просторах интернета простых решений по данному вопросу и решил самостоятельно продумать простой алгоритм, пришел к такому решению:
1) Берем текст, который необходимо отсканировать и получить его автора 2) Передаем его на обработку и получаем экземпляр Book (как указано выше) 3) Считываем все имеющиеся книги 4) Бежим по всем словам в книге, автора которой нужно найти 5) Каждое слово проверяем на наличие в других книгах 6) Если такое слово находим, то берем модуль двух чисел PercentUses и находим наименьшее из них, тем самым определяя наибольшую схожесть в кол-ве использований 7) После того как нашли найденной книге добавляем очко какого-нибудь WinRate и так пробегаем по всем словами 8) После того как все слова обработаны берем книгу с наибольшим рейтингом и выдаем ее автора На C# я сделал бы примерно так:
0
|
||||||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|
| 13.05.2019, 13:58 [ТС] | |
|
Никто не знает как такое на сложном F# сделать? ))
0
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
|||
| 13.05.2019, 14:26 | |||
|
На форуме - вероятность меньше найти таких людей, так как форум - подмножество землян. Может дело не в том, что не знают, а не хотят или ленятся показывать.
0
|
|||
|
|
||
| 04.06.2019, 07:42 | ||
|
Другим неприятным моментом является специфичность некоторых слов. Возьмем, к примеру, слово "шпрехшталмейстер". Слово в принципе употребляется крайне редко, у меня в браузере оно даже подчеркнуто спеллчекером, и большинство авторов его не употребляют вообще. Но если какой-то автор пишет о цирке, то есть ненулевая вероятность, что он упомянет это слово хотя бы несколько раз. Характеризует ли это его авторский стиль? Я думаю вряд ли и в произведениях на другую тему, он это слово не вспомнит, а вот другой автор, взявшись за ту же тему... ну ты понял. Здесь из простых решений я вижу следующие. Во-первых, следует провести анализ служебных частей речи(предлоги, союзы и т. д.). Они используются всеми, повсеместно и независимо от тематики, и известно, что их употребление достаточно индивидуально, то есть даже простой подсчет количества предлогов на тысячу слов уже даст хорошие результаты. Мало того, известно даже, что когда авторы намеренно пытаются менять стиль, чтобы выдать себя за кого-то другого, по этому показателю они остаются верны себе, если, конечно, не учитывают этот фактор целенаправленно. Другое преимущество служебных частей речи в том, что они не меняют форму. Другой подход - это учет слов, которые действительно используются нечасто и не всеми: анахронизмы, неологизмы, жаргонизмы, профессиональные термины, а также словечки типа кой, сей, нежели, отнюдь и т. д. Ну тут придется поработать и составить словарь таких слов, а также учесть, что они, в отличие от предлогов форму меняют.
0
|
||
|
|
|
| 04.06.2019, 23:22 | |
|
1
|
|
|
|
||
| 05.06.2019, 07:56 | ||
|
0
|
||
| 05.06.2019, 07:56 | |
|
Помогаю со студенческими работами здесь
15
Вспомнить автора Страница Автора Стиль автора
Условия IF по тексту Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|