Техника машинного обучения для изучения струнных моделей


11

У меня есть список слов, принадлежащих к разным категориям. Каждая категория имеет свой собственный шаблон (например, одна имеет фиксированную длину со специальными символами, другая существует из символов, которые встречаются только в этой категории «слова», ...).

Например:

"ABC" -> type1
"ACC" -> type1
"a8 219" -> type2
"c 827" -> type2
"ASDF 123" -> type2
"123123" -> type3
...

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

Поэтому я привожу данные обучения алгоритму (состоящие из примеров словосочетаний) и хочу, чтобы он выучил шаблоны для каждой категории, чтобы потом прогнозировать категорию из похожих или равных слов.

Есть ли современный способ сделать это?

Спасибо за вашу помощь


С моей точки зрения, вы можете сделать что-то вроде этого cistrome.org/cr/images/Figure4.png , но вместо ACGT вы можете использовать такие шаблоны, как «число, прописные, строчные, пробел» и т. Д.
Герман Демидов,

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

на самом деле это паттерны машинного обучения. Конечно, вы можете сделать это с помощью машинного обучения, но перед тем, как предоставить его в качестве входного для алгоритма ML, человеку необходимо сначала извлечь функцию. Какие функции вы бы извлекли из этих примеров? Я могу думать о хеш-функциях, но это будет работать очень плохо для строк неравной длины. Поэтому, поскольку вы найдете способ извлечения функций, вы сможете использовать методы ML. Вы также можете сделать что-то вроде расстояния Левенштейна между символами разных классов, кластеризовать их и использовать минимальное расстояние до центроидов для классификации.
Герман Демидов

@chresse, вы можете добавить тег необученного обучения к вашему вопросу. Для этого с нейронными сетями этот документ LeCun может представлять интерес. Поскольку у меня нет большого опыта в области интеллектуального анализа текста или нейронных сетей, я не могу сказать, насколько хорош этот подход.
GeoMatt22

1
Поэтому преобразуйте свои векторы, используя функции, которые вы обычно используете (u - верхний регистр, l - нижний регистр, n - число, s - пробел), чтобы ваши векторы были «ABC» - «uuu», «a8 219» - «lnsnnn» и т. Д. на. Затем вам нужно ввести некоторую меру расстояния, например, используя этот алгоритм: en.wikipedia.org/wiki/Smith –Waterman_algorithm. После этого вы сможете выполнить классификацию / кластеризацию / визуализацию ваших данных.
Герман Демидов

Ответы:


6

Может ли ваша проблема быть сформулирована как желание обнаружить регулярные выражения, которые будут соответствовать строкам в каждой категории? Это проблема «генерации регулярных выражений», подмножество проблемы индукции грамматики (см. Также сайт Александра Кларка ).

Проблема с регулярными выражениями проще. Я могу указать вам код Frak и RegexGenerator . В онлайн RegexGenerator ++ есть ссылки на их научные статьи по этой проблеме.


5

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

Однако, чтобы этот метод действительно работал, вам потребуется довольно большой набор обучающих данных.

Вы можете обратиться к разделу « Маркировка контролируемых последовательностей с помощью рекуррентных нейронных сетей» главы 2 Алекса Грейвса для более подробной информации.

Это ссылка на препринт


1
Не могли бы вы добавить полную ссылку для окончательной ссылки на случай, если в будущем прекратится ссылка «preprint.pdf»? (Я полагаю, что это соответствующая глава?)
GeoMatt22
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.