Нейронная сеть: преобразование таблицы HTML в данные JSON - PullRequest
0 голосов
/ 26 января 2019

Я новичок в нейронных сетях и только начал учиться кодировать их, попробовав несколько примеров. Две недели назад я искал интересный вызов и нашел его. Но я собираюсь сдаться, потому что мне кажется, что это слишком сложно ... Но мне было любопытно узнать, способен ли кто-нибудь из вас решить эту проблему?

Проблема: Предположим, существуют файлы ".htm", которые содержат таблицы на одну и ту же тему. Но структура таблицы не одинакова для каждого файла. Например: у нас есть много «.htm» -файлов, содержащих информацию о заменах учителей в день на школу. Поскольку структура этих файлов .htm не одинакова для каждого файла, было бы сложно запрограммировать синтаксический анализатор, который мог бы извлекать данные из этих таблиц. Поэтому я подумал, что это задача для нейронной сети.

Первый вопрос: Это задача, которую Нейронная сеть может / должна выполнить, или я ошибаюсь?

Потому что для меня Нейронная сеть, казалось, подходила для такого рода задач, которые я пытался использовать для входа. Я придумал два варианта:

Первый параметр ввода: Взять HTML-код (только из тега body) в виде строки и преобразовать его в Tensor

Второй параметр ввода: Преобразование таблиц HTML в изображения (возможно, с помощью Canvas) и передача этого ввода в DNN через слои Conv2D.

Второй вопрос: Эти опции хороши? У вас есть лучшее решение для этого?

После этого я хотел выяснить, как заставить DNN выводить эти сильно динамические данные для меня? Я думал преобразовать желаемый JSON-вывод в Tensors и передать их в DNN во время обучения, и для каждого прогноза я ожидал, что DNN вернет Tensor, который конвертируется в JSON-Output ...

Третий вопрос: Можно ли даже получить такой подробный вывод из DNN? И если да: считаете ли вы, что выход подходит для этой задачи?

Последний вопрос: Предполагая, что все мои предположения верны - разве тренировка этого DNN не будет длиться вечно? Допустим, у вас есть RTX 2080 для этого. Что бы вы догадались?

Полагаю, все. Надеюсь, я многому научусь у вас, ребята!

(извините за мой плохой английский - это не мой родной язык)

Дополнение:

Вот более подробный пример. Допустим, у нас есть файл .htm, который выглядит так: Example of an .html-file

Задача будет получить всю необходимую информацию из этой таблицы. Например: Все ученики из класса "9c" не имеют уроков в течение 6-го часа из-за отмены.

1 Ответ

0 голосов
/ 27 января 2019

1) Это не особенно подходит для нейронной сети, поскольку ваш домен представляет собой структурированные данные с четкими зависимостями внутри.Алгоритмы ML на основе дерева имеют тенденцию показывать гораздо лучшие результаты по таким проблемам.

2) Оба варианта ввода очень неструктурированы.Учиться на таких данных было бы почти невозможно.Есть ясные способы дать больше знаний модели.Например, у вас одни и те же данные в другом формате, разница только в структуре.Это означает, что модели необходимо изучить сопоставление от одной структуры к другой, ей не нужно знать никаких данных.Следовательно, слова могут быть Tokenized с уникальными идентификаторами, чтобы удалить ненужную информацию.Данные Htm могут быть проанализированы как в дереве, так и в формате json.Кроме того, существуют различные способы представления графовых структур, которые можно использовать в модели ML.

3) Кажется, что единственная адекватная опция для вывода - это последовательность идентификаторов, указывающих на уникальные объекты из текста.Тогда вся проблема похожа на Seq2Seq, лучше всего решаемую с помощью RNN с архитектурой декодер-кодер.

Я считаю, что, если данных достаточно, а в файлах htm нет большого шума, задача может быть выполнена.Время обучения в значительной степени зависит от выбранной модели и ее сложности, а также от разнообразия исходных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...