Техніка машинного навчання для вивчення строкових моделей


11

У мене є список слів, що належать до різних самовизначених категорій. Кожна категорія має свій рисунок (наприклад, одна має фіксовану довжину зі спеціальними символами, інша існує символами, які зустрічаються лише в цій категорії "слово", ...).

Наприклад:

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

Я шукаю техніку машинного навчання, щоб самостійно засвоїти ці зразки на основі даних про навчання. Я вже намагався самостійно визначити деякі змінні предиктора (наприклад, довжина слова, кількість спеціальних символів, ...), а потім застосував Neural-Networks для вивчення та прогнозування категорії. Але це акутно не те, що я хочу. Я хочу, щоб методика вивчила шаблон для кожної категорії самостійно - навіть вивчити шаблони, про які я ніколи не замислювався.

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

Чи є сучасний спосіб це зробити?

Спасибі за вашу допомогу


З моєї точки зору, ви можете зробити що- л , як цей cistrome.org/cr/images/Figure4.png , але замість ACGT ви можете використовувати шаблони , такі як «число, прописні, в нижньому регістрі, простір» і т.д.
німецький Демидов

@GermanDemidov дякую за ваш коментар. Я вже думав про щось подібне. Але я дійсно хочу, щоб алгоритм навчання робив це самостійно і виявляв закономірності. (Я не знаю, чи можливо це для ML).
хресс

насправді ця закономірність є машинним навчанням. Звичайно, ви можете зробити це за допомогою машинного навчання, але людині потрібно спочатку зробити вилучення функції, перш ніж подавати це як вхід до алгоритму 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.