С Новым годом! Форум программистов, компьютерный форум, киберфорум
Искусственный интеллект, ML
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/67: Рейтинг темы: голосов - 67, средняя оценка - 4.90
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
1

Как отличить «слово» от бессмысленного набора символов?

12.03.2016, 20:45. Показов 12817. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Ребята, подскажите пожалуйста, какие инструменты (без привязки к языкам программирования) можно применить для определения того, что введенные символы являются словом, а не бессмысленным набором символов "влдатдукывта вызвтк".
Перебор заготовленных ранее словарей не является решением задачи.
И ещё один вопрос. Можно ли здесь использовать Теорию вероятностей?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.03.2016, 20:45
Ответы с готовыми решениями:

Составить программу, которая по заданному слову из набора строит следующее за ним по алфавиту слово из этого набора
"Слово" Указано слово (латинскими буквами). Из всех его букв составляются другие слова, возможно и...

Как открыть файл в виде набора символов?
Ну никак не могу понять как открыть файл любого типа(не только тхт) в виде текста(имею в виду набор...

Как сгенерировать случайную строку из набора символов?
как сделать чтобы вот это вот s0 = ""; Random rnd = new Random(); int n;...

Написать программу, которая удаляет из данного набора символов все вхождения символов S и s
Написать программу, которая получает от пользователя набор символов, исключая пропуск, и удаляет из...

14
66 / 66 / 31
Регистрация: 11.03.2016
Сообщений: 252
12.03.2016, 20:48 2
Цитата Сообщение от OdessaNA Посмотреть сообщение
Перебор заготовленных ранее словарей не является решением задачи.
Почему?

Цитата Сообщение от OdessaNA Посмотреть сообщение
И ещё один вопрос. Можно ли здесь использовать Теорию вероятностей?
Вы хотите найти те комбинации символов, которые будут очень похожи на реальные слова языка?
0
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
12.03.2016, 20:54  [ТС] 3
Цитата Сообщение от DeadPenguin Посмотреть сообщение
Вы хотите найти те комбинации символов, которые будут очень похожи на реальные слова языка?
Вы знаете, вот к этому варианту решения я пока больше всего и склоняюсь.
Но есть же и другие способы решения задачи?
Цитата Сообщение от DeadPenguin Посмотреть сообщение
Сообщение от OdessaNA
Перебор заготовленных ранее словарей не является решением задачи.
Почему?
))) такое условие задачи.
0
66 / 66 / 31
Регистрация: 11.03.2016
Сообщений: 252
12.03.2016, 20:58 4
OdessaNA, просто без словарей сам вопрос не имеет особого смысла. Конечно, вы можете описать слова русского языка какими-то правилами (вот тут суффикс, вот тут приставка, это идёт за этим), но это заведомо не охватывает ВСЕ слова (как минимум заимствования) и уж точно не охватывает неологизмы — а, как я понял, вы на них и нацелены.

Так как я не специалист в лингвистике, то я бы пошёл по топорному пути — реализовал бы генетический алгоритм, который формирует новые слова из имеющихся, сравнивая результаты со словарём и отбрасывая заведомо не-слова (например, некоторые наборы букв подряд не встречаются ни в одном слове русского языка).

Если на форуме есть специалисты по нейронным сетям — я думаю, им тоже есть что сказать
0
61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
12.03.2016, 20:59 5
Если нет перебора словаря, то можно создать алгоритмы, например, проанализировав те же словари, но их результат все равно будет сугубо вероятностным, т.к. всегда можно будет придумать странное слово, которое алгоритм пропустит (т.е. похожее на настоящее, но которого нет), и есть неплохой риск отфильтровать нормальные слова, которые являются специфичными и встречаются редко.
1
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
12.03.2016, 21:30 6
Зачем какой-то интеллект для этой задачи? Интеллект будет долго обучаться. Между тем мы уже можем быстро сформулировать несколько правил.

Я бы лучше решил противоположную задачу, я бы доказывал, что набор букв - это не слово.
Например, предлагаю очень простой алгоритм: если идет три и более подряд гласных или согласных - считать набор букв "несловом". Еще можно зацепиться за буквы ь, ы, ъ - они тоже плохо сочетаются с гласными и некоторыми согласными... Любой алгоритм, в том числе словарный алгоритм, не смогут достичь 100% надежности. Зато предлагаемый метод - простой как пень.

Теория вероятностей (точнее лингвистическая статистика) тоже может давать неплохие оценки, на мой взгляд. Буква "ы" не может часто попадаться. А лучше конечно анализировать сочетания букв, например, "ый" может встречаться часто, чаще чем другие сочетания с буквой "ы".
1
Модератор
Эксперт функциональных языков программирования
3077 / 2226 / 462
Регистрация: 26.03.2015
Сообщений: 8,634
12.03.2016, 22:10 7
Цитата Сообщение от OdessaNA Посмотреть сообщение
введенные символы являются словом, а не бессмысленным набором символов
Перебор заготовленных ранее словарей является единственным возможным решением данной задачи.

Видимо, Вам нужно решение какой-то другой задачи.
И не забудьте сформулировать, что в рамках Вашей задачи является "словом".
Например, "эйафьятлайокудль" является словом русского языка.

Добавлено через 2 минуты
И "lisp", "c#" - тоже нельзя отнести к "бессмысленным наборам символов".
1
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
12.03.2016, 22:37  [ТС] 8
Да, перебор заготовленных ранее словарей - лучшее решение (тем более, что предметная область ограничивает количество возможных вариантов).
Но в том-то и заключается сложность этой задачи - вариант со словарями, как решение, не рассматривается.
По вопросу формулировки. Могут быть использованы только имена существительные без специальных символов.
0
Модератор
Эксперт функциональных языков программирования
3077 / 2226 / 462
Регистрация: 26.03.2015
Сообщений: 8,634
13.03.2016, 04:18 9
Цитата Сообщение от OdessaNA Посмотреть сообщение
Но в том-то и заключается сложность этой задачи - вариант со словарями, как решение, не рассматривается.
Решения нет при подобной формулировке. Не существует способа (кроме сравнения со словарём) определить, какое из двух слов "клод" и "клад" (или "слон" и "слан") является словом, а какое бессмысленным набором букв.
1
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
13.03.2016, 07:41 10
Цитата Сообщение от Shamil1 Посмотреть сообщение
Решения нет при подобной формулировке.
Топикстартер намеренно приводил пример другого характера:
Цитата Сообщение от OdessaNA Посмотреть сообщение
влдатдукывта вызвтк
Хочу обратить внимание, предлагаемый мною простейший алгоритм четко обработал бы этот пример, но не справился бы с КЛОД-КЛАД, СЛОН-СЛАН.

И еще хочу обратить внимание: что "мой" алгоритм и алгоритм, основанный на лингвистической статистике, являются разновидностью словарного алгоритма. Например, в моем алгоритме имеется "словарь" гласных и согласных букв.

P.S. Я бы поставил не менее востребованную практическую задачу: определить по имени пользователя, является ли он спам-ботом?
Примерный список:
Иншар
Santim
ESP-KZ
Rinat
metalizator
Cortés
Gulzhanar
michajlo
lazator
Topol
Yurich12
OttoRino
Maximus
anton
alkovas
eminently
demalhome
albertik59
frost_pk
RenRon
dogottor
Segvi
r0ma32
Jose
rancatto
А вот типичные имена спам-ботов:
Karinaml
AngelaSVEi
Sofiyemumb
KristinNib
Miriamfax
Modjoojj
Aurorescof
Cecilemt
Staceyzzmit
PaulineGer
lina77ma
Robertsex
HesterNak
Jenniebex
Необязательно должен получиться результат со 100 % надежностью. Цель - облегчить отсеивание спам-ботов для администратора форума.
1
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
13.03.2016, 09:50  [ТС] 11
Конечно же о 100% речь идти не может. В любом случае есть процент погрешности. Моя задача и заключается в том, чтобы выработать механизм с наименьшим процентом погрешности.
0
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
13.03.2016, 10:34 12
Нужно определить баланс между размером словаря и качеством фильтрации.
1
Модератор
Эксперт функциональных языков программирования
3077 / 2226 / 462
Регистрация: 26.03.2015
Сообщений: 8,634
13.03.2016, 13:57 13
Цитата Сообщение от OdessaNA Посмотреть сообщение
Конечно же о 100% речь идти не может. В любом случае есть процент погрешности.
Если есть набор букв, построенный с учётом фонетики русского языка, то вероятность примерно 50%. Больше для более коротких слов, меньше для более длинных. 50% Вас устраивает?

Если Вы просто ищете наборы букв, которые выглядят и звучат как слово русского языка (и Вам всё равно, есть ли у этого набора букв смысл), то это совсем другая задача. И у этой задачи есть простое решение, основанное на статистике.

Добавлено через 7 минут
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Хочу обратить внимание, предлагаемый мною простейший алгоритм четко обработал бы этот пример, но не справился бы с КЛОД-КЛАД, СЛОН-СЛАН.
"клод" - это тоже бессмысленный набор символов, как и "влдатдукывта вызвтк"
"клад" - это тоже слово, как и "эйафьятлайокудль"

В задаче написано "бессмысленный набор символов" и ничего про "благозвучный набор символов" и т.п.
Конечно, многие отвечают в стиле "автор просит одно, но мне лучше знать, что ему надо, поэтому я отвечу про другое" (и часто угадывают), но у меня нет желания гадать.
1
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
13.03.2016, 17:34 14
Лучший ответ Сообщение было отмечено OdessaNA как решение

Решение

Цитата Сообщение от Shamil1 Посмотреть сообщение
Конечно, многие отвечают в стиле "автор просит одно, но мне лучше знать, что ему надо, поэтому я отвечу про другое" (и часто угадывают), но у меня нет желания гадать.
А это искусство такое - понять, что хочет заказчик...
0
1609 / 1511 / 251
Регистрация: 19.02.2010
Сообщений: 4,078
13.03.2016, 22:28 15
Лучший ответ Сообщение было отмечено OdessaNA как решение

Решение

Цитата Сообщение от OdessaNA Посмотреть сообщение
введенные символы являются словом, а не бессмысленным набором символов "влдатдукывта вызвтк".
Если бы задача была для достаточно длинного текста (а не слова или, максимум, короткого предложения) - то я бы предложил сравнение частоты встречаемости букв во введённом тексте и "в среднем" в текстах нужного языка. Либо - сравнение матриц переходных вероятностей (от буквы к букве) в марковских цепях.
Т.е. на вопрос из стартового поста о применении теории вероятности - да, считаете частоты или вероятности и проверяете статистические гипотезы о равенстве или различии частот либо вероятностей.

А для слова - только словарь, может, с проверкой-коррекцией возможных опечаток (расстояние Левенштейна).
1
13.03.2016, 22:28
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2016, 22:28
Помогаю со студенческими работами здесь

Для каждой строки из заданного набора S проверить: верно ли, что она содержит как подстроку одну из строк из набора T
Здравствуйте, уважаемые пользователи! Опять несложная задачка на строки, но не все тесты...

В тексте удалить каждое слово с четным числом символов, продублировать каждое слово с нечетным числом символов
Помогите пожалуйста!!!!!!!Задан текст, состоящий из слов, записанных через запятые и,или пробел, и...

Как считать слово от 3 символов?
У меня есть скрипт который считает количество слов и их плотность в тексте в % (кому нужен полный...

Регулярные выражения: одно слово из набора
Здравствуйте, как составить регулярное выражение на поиск одного из слов? Pattern pattern =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru