Поиск
Показаны результаты для тегов 'идеи мысли'.
Найдено 1 результат
-
Вроде как пока не существует программы или онлайн сервиса по однозначному переводу названия вещества в его структурную формулу (SMILES). Это и не удивительно, так как расшифровку номенклатуры ИЮПАК бывает самому несколько проблематично сделать, а не то что научить этому компьютер. А с учетом того, что одни пишут сначала букавки, а потом циферки, другие наоборот, третии вообще приставки используют. С одной стороны все трое понимают о каком веществе идет речь и оно только одно (как и хотело ИЮПАК), но с другой стороны - сложно объяснить компьютеру все возможные варианты названий. Так что я задумался о несколько другом подходе к решению задачи вместо традиционного if then else. Может здесь применимы нейронные сети? Кому интересно, можно почитать здесь: https://ru.wikipedia.org/wiki/%D0%98%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C, но если вкратце, то это такая штука, которая не программируется, а обучается. Например, при помощи них распознаются картинки (капчи), предназначенные для защиты от роботов. В такую сеть засовывается, например, много-много картинок с буквой А, но с разным ее написанием. И говорится, что все эти картинки соответствуют именно букве А. Потом тоже самое с буквой Б итд. То есть происходит "обучение" сети. Потом дается произвольная картинка и спрашивается, что на ней нарисовано. Сама нейронная сеть не думает, как обычная программа - типа, слева вертикальная палочка, наверху горизонтальная и справа вертикальная, значит это буква П. В ней вообще нет никаких алгоритмов. Грубо говоря, она просто сравнивает - на какую из букв похож представленный рисунок. Или вообще ни на что не похож. При достаточном количестве обучающих примеров качество ее работы должно быть хорошее. Настройка и прочее управление сводится к подбору некоторых параметров. Например, изображение буквы является ничем иным как квадратом Н на М, где каждая точка имеет свой цвет. Программа, понятное дело, не может понять, что это. Грубо говоря, для нее это НхМ значений цветов для каждрй точки (строго говоря зависит от формата, но так проще). Как они идут - образуют квадрат или что-то в объеме или просто длинная вытянутая линия, для нее значения не имеет. Собственно, настройка нейронной сети и подразумевает подбор каких-то параметров, которые будут лучше работать именно для данных такого вида (квадрат с нарисованной буквой). Ну и основная мысль: взять нейронную сеть, настроить по возможности параметры и долго-долго обучать ее всевозможными примерами, вбивая ИЮПАК и ставя в соответствие структурную формулу. Начинать с простых примеров, постепенно усложняя. Типа, гидроксид водорода, дигидрогена монооксид, оксид(II) водорода(I), вода - 0 (если юзать smiles). метилкарбонол, этанол, этиловый спирт - cco итд. Сама настройка сети будет сводиться к обучению ее нормальному трактованию всякого рода ди, три, изо, цис, транс и прочих водородов. Что получится из этого всего на самом деле я не знаю, но думается, что что-то получиться должно. Может кто-то разбирается в нейронных сетях, или где-то давно есть такая программа, или я полный бред несу и спать пора идти, вобщем любые мысли по существу будут интересны.