Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2 / 2 / 0
Регистрация: 30.03.2015
Сообщений: 144

Разработка алгоритма для подтверждения фактов

29.12.2019, 05:13. Показов 1708. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я разрабатываю алгоритм, который будет подтверждать факты с помощью интернета. Вот например вопрос "Москва столица России?" ответ должен быть "да" или "нет". И чтоб дать ответ, нужно сначала подтвердить его. Моя идея заключается в том, что бы задать вопрос автоматически, и вопросы это "москва" "столица" "россия". вся эта идея состоит тупо в нахождении слов, но как найти связи, я в тупике. помогите, как можно реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2019, 05:13
Ответы с готовыми решениями:

Разработка генетического алгоритма составления расписания ВУЗа
Доброго времени суток! Очень нужна помощь в разработке ГА для составления расписания ВУЗа, с учетом множества условий. Никогда до этого с...

Программа для сравнения производительности необобщенного алгоритма ArrayList и обобщенного алгоритма List
Доброе время суток форумчане! Наткнулся я в книжке на этот код, решил проверить у себя, и получилось так, что код написан с ошибками в: ...

Разработка модели, алгоритма и программы информационного обмена вычислительной системы
Собственно всем доброго времени суток. По теме приведенной в заголовке нужно написать программу, собственно я понятия не имею что именно я...

20
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
29.12.2019, 10:32
Denis83, через нейронку, самое простое это заюзать готовое, к примеру какой-то помощник от гугла или яндекса через API.

Второй вариант писать самому)
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
29.12.2019, 11:30
Denis83, ну вот например алиса на фразы "Москва столица России?" и "Москва не столица России?" выдает одно и то же. Врят ли то что вы задумали можно реализовать самому.
0
2 / 2 / 0
Регистрация: 30.03.2015
Сообщений: 144
29.12.2019, 14:21  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
Denis83, ну вот например алиса на фразы "Москва столица России?" и "Москва не столица России?" выдает одно и то же. Врят ли то что вы задумали можно реализовать самому.
реализовать в программном коде не надо, надо пока алгоритм в теории собрать. Вот я обращаюсь за помощью на этот форум, может кто понимает как может заработать

Добавлено через 2 минуты
Цитата Сообщение от Defences Посмотреть сообщение
Denis83, через нейронку, самое простое это заюзать готовое, к примеру какой-то помощник от гугла или яндекса через API.

Второй вариант писать самому)
это немного не то исследование которое я провожу. А делаю я второй вариант, без н.сети. Моя идея заключается в работе со смысловыми связями слов
0
17 / 10 / 8
Регистрация: 06.12.2019
Сообщений: 19
29.12.2019, 15:09
Цитата Сообщение от Denis83 Посмотреть сообщение
но как найти связи,
напомнило дерево принятия решений
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
29.12.2019, 15:09
Цитата Сообщение от Denis83 Посмотреть сообщение
надо пока алгоритм в теории собрать.
Это своего рода экспертная система, а для них нужны большие базы знаний. Как уже упомянули про Алису - ответить корректно на произвольный вопрос - это очень большая задача, если даже существующие в проде системы так себе это делают.
И честно говоря, не представляю, как эта задача решается на нейронный сетях.
0
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
29.12.2019, 15:19
IamRain, ну как бы Алиса это и есть нейронка...
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
29.12.2019, 15:51
Почитайте про семантический веб и язык программирования Пролог.
Задача весьма нетривиальная. Просто так никто не объяснит вам ее
0
30 / 21 / 9
Регистрация: 22.11.2014
Сообщений: 129
29.12.2019, 16:29
Сейчас популярно написание ботов-консультантов, в сети попадались исходники на C#.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
29.12.2019, 16:51
Цитата Сообщение от Denis83 Посмотреть сообщение
реализовать в программном коде не надо, надо пока алгоритм в теории собрать.
Это даже в теории суперсложно.
Поэтому и появились нейронные сети в надежде, что для них не придётся строить таких суперсложных теорий.

Найдите 2 отличия:
"Москва столица России?"
"Москвы столица России?"

Это простой пример, где от изменения окончания меняется смысл сказанного.
А знаменитое "Казнить нельзя помиловать".

Особенно сложно это для таких языков как Русский - с изменяемым порядком слов в предложении.

В поисковике это проще реализовать. Он выдаст просто список статьей где встречаются рядом эти слова, а дальше уже сам пользователь читатет и оценивает.
А то что вы хотите это уже, наверное, почти настоящий ИИ - по уровню гораздо выше чем нейронка от Google.
0
2 / 2 / 0
Регистрация: 30.03.2015
Сообщений: 144
29.12.2019, 20:06  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Это даже в теории суперсложно.
Поэтому и появились нейронные сети в надежде, что для них не придётся строить таких суперсложных теорий.

Найдите 2 отличия:
"Москва столица России?"
"Москвы столица России?"

Это простой пример, где от изменения окончания меняется смысл сказанного.
А знаменитое "Казнить нельзя помиловать".

Особенно сложно это для таких языков как Русский - с изменяемым порядком слов в предложении.

В поисковике это проще реализовать. Он выдаст просто список статьей где встречаются рядом эти слова, а дальше уже сам пользователь читатет и оценивает.
А то что вы хотите это уже, наверное, почти настоящий ИИ - по уровню гораздо выше чем нейронка от Google.
С вами согласен, это не то что под силу одному и на это уйдут годы. в моем случае, это пока просто подтвердить один факт "москва столица россии?" "да" или "нет". Мну нужно посчитать процент подтвержденного факта. Первое что я исследую, это подтверждение фактов с помощью семантической сети. 100% подтвердить факт на данный момент невозможно. В чем заключается идея?
Мы задаем вопрос "москва столица россии?". Первое- нужно проверить, есть ли ответ в офф источниках? мы не нашли документа, который был бы написан как "москва столица россии, она им стала в xxx году при князе XXXX ....." (на деле есть ответ, но мы представим что нет).
Значит идем ко второму варианту, это проверить в поисковике по 2 слова "москва столица" "столица россии" и росси москва", проверить, насколько они близки к друг другу. Например "москва ... ... ... .. столица ... ... .." Если интервал меж словами в тексте не более 6-7 слов, значит есть какая то связь, если более то нет связи. Этот способ вроде называется нахождение пространства связей слов.

Как вам мое предположение? я этот алгоритм взял только в рамках вопроса связанный со столицей россии или другой страны. сложные вопросы я пока не трогаю




В моем понимании компьютер, это ребенок который появился на свет с талантом в математике, а чтоб он начал мыслить, нахождение смыслов, ему нужно все об этом рассказать, это в рамках только текста. Смысл который можно найти с помощью других текстов, а не в действиях человека.
0
2631 / 1643 / 267
Регистрация: 19.02.2010
Сообщений: 4,362
29.12.2019, 22:38
Цитата Сообщение от Denis83 Посмотреть сообщение
проверить в поисковике по 2 слова "москва столица" "столица россии" и росси москва", проверить, насколько они близки к друг другу. Например "москва ... ... ... .. столица ... ... .." Если интервал меж словами в тексте не более 6-7 слов, значит есть какая то связь, если более то нет связи. Этот способ вроде называется нахождение пространства связей слов.
Щас делают иначе. Обучают систему по большому корпусу текстов, чтобы затем при "боевой" работе вместо запросов к поисковику просто и быстро измерять расстояния между нужными словами (в пространстве, полученном по результатам обработки кучи текстов).
В общем, см https://ru.wikipedia.org/wiki/Word2vec и
https://ru.wikipedia.org/wiki/... _семантика

А поскольку каждое слово представляется вектором вещественных чисел - то возможны будут и "арифметические" вычисления над этими представлениями. Т.е. по результатам операций над векторами, стоящими за словами в "выражении" Париж-Франция+Россия, получим вектор, близкий/равный вектору слова "Москва". Ну или для Мужчина-Инженер получим вектор, близкий к какому-нибудь Гуманитарию, а для Мужчина-Инженер+Женщина - к Домохозяйке или где-то рядом. Иными словами, имеется/появляется возможность добавлять/вычитать значения/смыслы нужных слов - и получать правильный или довольно осмысленный результат.

Но предыдущий абзац чисто ради информации/заинтересовывания. Вам надо будет просто придумать какую-то эвристику для проверки правильности выражения. Например, построить таблицу значений косинусных расстояний между всеми словами в проверяемом выражении - и попытаться найти остовный подграф (остовное дерево), связывающий все эти слова, с расстояниями (длинами рёбер) не длиннее чем некоторой порог. Если подграф находится - ОК, явных противоречий смыслов у этих слов нет, если не находится - можно смотреть, сколько и каких слов не удаётся достоверно/близко связать с остальными.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
29.12.2019, 23:00
Цитата Сообщение от Denis83 Посмотреть сообщение
В моем понимании компьютер, это ребенок который появился на свет с талантом в математике, а чтоб он начал мыслить, нахождение смыслов, ему нужно все об этом рассказать, это в рамках только текста. Смысл который можно найти с помощью других текстов, а не в действиях человека.
Вы рассуждаете как нуб человек очень далёкий от компьютеров и воспринимающий их как магию.

Вы не на какой системе не сможете поймать смысловую разницу между "москва столица россии?" и "москвы столица россии?".
Или "казнить нельзя помиловать", "казнить, нельзя помиловать", "казнить нельзя, помиловать".

Компьютер это не РЕБЁНОК!
Это всего лишь хороший калькулятор.

Есть надежда, что в будущем (через 100, 1000, млн лет?) этот калькулятор научат эмулировать ребёнка.
Но в настоящее время он может эмулировать только в очень простых ситуациях, когда количество входных и выходных параметров очень ограничено, и условия их применения неизменны.

Цитата Сообщение от Denis83 Посмотреть сообщение
в моем случае, это пока просто подтвердить один факт "москва столица россии?" "да" или "нет"
Для того чтобы подтвердить факт надо сначала понять смысл вопроса и мы опять возвращаемся к теории ИИ.

Denis83, то что я вам хочу довести.
Ваша задача это не раздел C#, это теория ИИ.
Которая очень большая, разветвлённая и в которой работаю миллионы людей.

И если вы это сможете сделать первым, то вам светит как минимуму звание академика, а может и Нобелевка.
1
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
30.12.2019, 06:37
Denis83, раз зашла речь о магии. Я просто оставлю это здесь https://ru.wikipedia.org/wiki/... 0%B8%D1%82
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
30.12.2019, 08:21
Defences, не понимаю, как квантовый компьютер поможет решить задачу автора.
Может у него и больше вычислительных мощностей (что ещё не доказано), но как их применить - непонятно.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
30.12.2019, 09:39
Цитата Сообщение от Рядовой Посмотреть сообщение
Defences, не понимаю, как квантовый компьютер поможет решить задачу автора.
Может у него и больше вычислительных мощностей (что ещё не доказано), но как их применить - непонятно.
Такая же фигня.
У КК даже не больше вычислительных мощностей, они просто другие.
Есть задачи которые теоретически, возможно будет проще на них решать.
В основном это относится к криптографии. Отсюда и интерес к ним у спецслужб, военных и т.п. Они же и вливают деньги в них.
А вот посчитать 2+2 или длинную логическую цепочку на них.... По моему, просто невозможно.

В этом отношении они напоминают фотонные (или световые, голографические) компьютеры.
Когда-то эта тема сильно муссировалось.
Но.... Их практическое применение оказалось фактически невозможным. Под каждую задачу надо делать отдельный фотонный кристалл.
0
2 / 2 / 0
Регистрация: 30.03.2015
Сообщений: 144
30.12.2019, 21:29  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Щас делают иначе. Обучают систему по большому корпусу текстов, чтобы затем при "боевой" работе вместо запросов к поисковику просто и быстро измерять расстояния между нужными словами (в пространстве, полученном по результатам обработки кучи текстов).
В общем, см https://ru.wikipedia.org/wiki/Word2vec и
https://ru.wikipedia.org/wiki/... _семантика

А поскольку каждое слово представляется вектором вещественных чисел - то возможны будут и "арифметические" вычисления над этими представлениями. Т.е. по результатам операций над векторами, стоящими за словами в "выражении" Париж-Франция+Россия, получим вектор, близкий/равный вектору слова "Москва". Ну или для Мужчина-Инженер получим вектор, близкий к какому-нибудь Гуманитарию, а для Мужчина-Инженер+Женщина - к Домохозяйке или где-то рядом. Иными словами, имеется/появляется возможность добавлять/вычитать значения/смыслы нужных слов - и получать правильный или довольно осмысленный результат.

Но предыдущий абзац чисто ради информации/заинтересовывания. Вам надо будет просто придумать какую-то эвристику для проверки правильности выражения. Например, построить таблицу значений косинусных расстояний между всеми словами в проверяемом выражении - и попытаться найти остовный подграф (остовное дерево), связывающий все эти слова, с расстояниями (длинами рёбер) не длиннее чем некоторой порог. Если подграф находится - ОК, явных противоречий смыслов у этих слов нет, если не находится - можно смотреть, сколько и каких слов не удаётся достоверно/близко связать с остальными.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вы рассуждаете как нуб человек очень далёкий от компьютеров и воспринимающий их как магию.

Вы не на какой системе не сможете поймать смысловую разницу между "москва столица россии?" и "москвы столица россии?".
Или "казнить нельзя помиловать", "казнить, нельзя помиловать", "казнить нельзя, помиловать".

Компьютер это не РЕБЁНОК!
Это всего лишь хороший калькулятор.

Есть надежда, что в будущем (через 100, 1000, млн лет?) этот калькулятор научат эмулировать ребёнка.
Но в настоящее время он может эмулировать только в очень простых ситуациях, когда количество входных и выходных параметров очень ограничено, и условия их применения неизменны.


Для того чтобы подтвердить факт надо сначала понять смысл вопроса и мы опять возвращаемся к теории ИИ.

Denis83, то что я вам хочу довести.
Ваша задача это не раздел C#, это теория ИИ.
Которая очень большая, разветвлённая и в которой работаю миллионы людей.

И если вы это сможете сделать первым, то вам светит как минимуму звание академика, а может и Нобелевка.

спасибо за ваши мнения, действительно интересно и важно, есть над чем подумать. (без шуток).
P,s. не удаляйте и не переводить в архив тему, я к ней вернусь и напишу вам свои успехи и приду за дальнейшими советами)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
30.12.2019, 22:18
Цитата Сообщение от Denis83 Посмотреть сообщение
P,s. не удаляйте и не переводить в архив тему, я к ней вернусь и напишу вам свои успехи и приду за дальнейшими советами)
Темы не удаляются без веских причин (нарушение правил форума - но это не ваш случай).

Будем ждать новостей!
От Нобелевского комитета?

Успехов!
0
2 / 2 / 0
Регистрация: 30.03.2015
Сообщений: 144
13.04.2020, 01:01  [ТС]
Добрый день. Вообщем, мое исследование дошло до того, что можно использовать RDF модель. Но возникли сложности.
Ситуация такая, я хочу подтвердить факт "яблоко синее?", во внутренней системе нет об этом данных, могу ля я подтвердить это с помощью поисковиков? По моему мнению, это невозможно, учитывая "мусор". Ну я спрошу у поиска "что такое яблоко?", "что такое синее". И чтоб факт подтвердить, нужно копать глубоко и сверять почти каждое слово из найдены источников. Это я сравнил с человеком. Когда мы спросим себя, "яблоко синее?", мы в голове вспоминанием, что яблоко, это фрукт, у фрукта есть свойства "форму", "цвет", "вкус", а далее форма "круглый", цвет "красный, желтый..", вкус "сладкий".
Но вот проблема с поиском, он выдает много лишнего, и отсеить лишнее, это дополнительные алгоритмы. Тупо не хватит мощности ПК
0
 Аватар для Enifan
1846 / 1188 / 501
Регистрация: 14.10.2018
Сообщений: 3,211
13.04.2020, 05:29
У меня тоже была идея создать нечто подобное, но понял что это дело не банальное. Ибо запрос
"москва или Москва"
даже поисковик ответить не может корректно (он выдает что угодно в духе "Москва... или Москва..."), но все же это не то. Вот думаю как обойти тот момент, когда поисковики всю строку к одному регистру приводят.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2020, 05:29
Помогаю со студенческими работами здесь

Разработка алгоритма для распределенной системы
Добрый день! Для распределенной АСУ необходимо разработать систему единой нумерации. Принцип работы такой: операторы выделяют на...

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

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

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

Разработка алгоритма для решения нелинейного уравнения методом хорд(метод Ньютона)
Разработать алгоритм и найти все корни нелинейного уравнения 0.4cos(3x)+0.2sin(8x)=0.4 на отрезке методом хорд (метод Ньютона). Точность...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru