Непідконтрольне функціональне навчання для NER


11

Я впровадив систему NER з використанням алгоритму CRF із своїми ручними функціями, які дали досить хороші результати. Вся справа в тому, що я використав безліч різноманітних функцій, включаючи POS-теги та леми.

Тепер я хочу зробити той самий NER для різної мови. Проблема тут полягає в тому, що я не можу використовувати POS-теги та леми. Я почав читати статті про глибоке навчання та непідконтрольне функціонуванню навчання.

Моє запитання:

Чи можливо використовувати методи для непідвладного вивчення функцій за допомогою алгоритму CRF? Хтось це спробував і отримав хороший результат? Чи є якась стаття чи підручник з цього питання?

Я все ще не повністю розумію цей спосіб створення функцій, тому не хочу витрачати багато часу на те, що не вийде. Тож будь-яка інформація була б дуже корисною. Створювати цілу систему NER на основі глибокого навчання поки що небагато.

Відповіді:


5

Так, цілком можливо поєднувати непідвладне навчання з моделлю CRF. Зокрема, я б рекомендував вивчити можливість використання word2vec функцій як вхідних даних до вашої CRF.

Word2vec навчає, щоб розрізняти слова, відповідні даному контексту, і слова, вибрані випадковим чином. Вибрані ваги моделі можуть бути інтерпретовані як щільне векторне зображення даного слова.

Ці щільні вектори мають привабливу властивість, що слова, семантично чи синтаксично подібні, мають подібні векторні уявлення. Основна арифметика вектора навіть виявляє цікаві вивчені зв’язки між словами.
Наприклад, вектор ("Париж") - вектор ("Франція") + вектор ("Італія") дає вектор, досить схожий на вектор ("Рим").

На високому рівні ви можете вважати, що представлення word2vec є подібними до представлень LDA або LSA, в тому сенсі, що ви можете перетворити розріджений вхідний вектор у щільний вектор виводу, що містить інформацію про подібність слова.

Що стосується цього, LDA та LSA також є дійсними варіантами для непідвладного вивчення функцій - обидва намагаються представити слова як комбінації "тем" та вивести щільне подання слів.

Для англійського тексту Google розповсюджує моделі word2vec, перевірені на величезному наборі даних на 100 мільярдів слів Google News, але для інших мов вам доведеться тренувати власну модель.


Гей, кулак, я хочу подякувати за вашу відповідь. У мене є ще одне питання. Слововий вектор, який повертається з алгоритму word2vec, має знаки з плаваючою величиною, тому слова, такі як великі та великі, матимуть вектори, близькі у векторному просторі, але значення векторів можуть бути абсолютно різними. Наприклад, великі = [0,1, 0,2, 0,3] і більше = [0,11, 0,21, 0,31]. Хіба це не проблема для алгоритму CRF, оскільки цей алгоритм розглядає їх як не подібні? Чи є якась додаткова обробка, яку можна було б виконати перед використанням цього вектору слів у CRF? Я сподіваюся, що моє запитання досить чітке.
MaticDiba

4

У цьому документі за 2014 рік ( GitHub ) автори порівнювали декілька стратегій включення вбудовування слів у систему NER на основі CRF, включаючи щільне вбудовування, вбудовування бінерів, кластерне вбудовування та новий метод- прототип . Використання щільних векторів безпосередньо, як запропонував Уряд, є найпростішим способом, але також найменш ефективним у кількох оцінках.

Я реалізував ідею прототипу в моєму доменному проекті NER, і він працює досить добре для мене.


3

Я запізнююсь лише на 5 місяців, але за допомогою CRFSuite ви можете використовувати ці функції з плаваючою ознакою як числа, а не як рядки. Для цього потрібно просто винайти унікальну мітку для кожного виміру, а потім додати ":" з наступним значенням.

Наприклад, слово "джунглі" представлено у 5 вимірах: 0,1 0,4 0,8 0,2 0,9

Тоді CRFSuite прийме це слово + функцію як:

ЕТИКЕТ f1: 0,1 f2: 0,4 f3: 0,8 f4: 0,2 f5: 0,9

де, звичайно, ви замінюєте `` LABEL '' фактичним рядком і розділяєте всі пробіли вкладками (це формат для CRFSuite).

Не впевнений, хоча і для інших пакетів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.