19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
|
|
1 | |
Как отличить «слово» от бессмысленного набора символов?12.03.2016, 20:45. Показов 12817. Ответов 14
Метки нет (Все метки)
Здравствуйте.
Ребята, подскажите пожалуйста, какие инструменты (без привязки к языкам программирования) можно применить для определения того, что введенные символы являются словом, а не бессмысленным набором символов "влдатдукывта вызвтк". Перебор заготовленных ранее словарей не является решением задачи. И ещё один вопрос. Можно ли здесь использовать Теорию вероятностей?
0
|
12.03.2016, 20:45 | |
Ответы с готовыми решениями:
14
Составить программу, которая по заданному слову из набора строит следующее за ним по алфавиту слово из этого набора Как открыть файл в виде набора символов? Как сгенерировать случайную строку из набора символов? Написать программу, которая удаляет из данного набора символов все вхождения символов S и s |
66 / 66 / 31
Регистрация: 11.03.2016
Сообщений: 252
|
|
12.03.2016, 20:48 | 2 |
Почему?
Вы хотите найти те комбинации символов, которые будут очень похожи на реальные слова языка?
0
|
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
|
|
12.03.2016, 20:54 [ТС] | 3 |
Вы знаете, вот к этому варианту решения я пока больше всего и склоняюсь.
Но есть же и другие способы решения задачи? ))) такое условие задачи.
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 |
Перебор заготовленных ранее словарей является единственным возможным решением данной задачи.
Видимо, Вам нужно решение какой-то другой задачи. И не забудьте сформулировать, что в рамках Вашей задачи является "словом". Например, "эйафьятлайокудль" является словом русского языка. Добавлено через 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 |
Решения нет при подобной формулировке. Не существует способа (кроме сравнения со словарём) определить, какое из двух слов "клод" и "клад" (или "слон" и "слан") является словом, а какое бессмысленным набором букв.
1
|
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
|
|
13.03.2016, 07:41 | 10 |
Топикстартер намеренно приводил пример другого характера:
Хочу обратить внимание, предлагаемый мною простейший алгоритм четко обработал бы этот пример, но не справился бы с КЛОД-КЛАД, СЛОН-СЛАН. И еще хочу обратить внимание: что "мой" алгоритм и алгоритм, основанный на лингвистической статистике, являются разновидностью словарного алгоритма. Например, в моем алгоритме имеется "словарь" гласных и согласных букв. P.S. Я бы поставил не менее востребованную практическую задачу: определить по имени пользователя, является ли он спам-ботом? Примерный список:
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 |
Если есть набор букв, построенный с учётом фонетики русского языка, то вероятность примерно 50%. Больше для более коротких слов, меньше для более длинных. 50% Вас устраивает?
Если Вы просто ищете наборы букв, которые выглядят и звучат как слово русского языка (и Вам всё равно, есть ли у этого набора букв смысл), то это совсем другая задача. И у этой задачи есть простое решение, основанное на статистике. Добавлено через 7 минут "клод" - это тоже бессмысленный набор символов, как и "влдатдукывта вызвтк" "клад" - это тоже слово, как и "эйафьятлайокудль" В задаче написано "бессмысленный набор символов" и ничего про "благозвучный набор символов" и т.п. Конечно, многие отвечают в стиле "автор просит одно, но мне лучше знать, что ему надо, поэтому я отвечу про другое" (и часто угадывают), но у меня нет желания гадать.
1
|
674 / 548 / 74
Регистрация: 20.09.2014
Сообщений: 3,567
|
|
13.03.2016, 17:34 | 14 |
Сообщение было отмечено OdessaNA как решение
Решение
0
|
1609 / 1511 / 251
Регистрация: 19.02.2010
Сообщений: 4,078
|
|
13.03.2016, 22:28 | 15 |
Сообщение было отмечено OdessaNA как решение
Решение
Если бы задача была для достаточно длинного текста (а не слова или, максимум, короткого предложения) - то я бы предложил сравнение частоты встречаемости букв во введённом тексте и "в среднем" в текстах нужного языка. Либо - сравнение матриц переходных вероятностей (от буквы к букве) в марковских цепях.
Т.е. на вопрос из стартового поста о применении теории вероятности - да, считаете частоты или вероятности и проверяете статистические гипотезы о равенстве или различии частот либо вероятностей. А для слова - только словарь, может, с проверкой-коррекцией возможных опечаток (расстояние Левенштейна).
1
|
13.03.2016, 22:28 | |
13.03.2016, 22:28 | |
Помогаю со студенческими работами здесь
15
Для каждой строки из заданного набора S проверить: верно ли, что она содержит как подстроку одну из строк из набора T В тексте удалить каждое слово с четным числом символов, продублировать каждое слово с нечетным числом символов Как считать слово от 3 символов? Регулярные выражения: одно слово из набора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
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 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
|