Как подготовить входной файл для svmstruct

Я хочу использовать svmstruct для моей задачи распознавания именованных объектов. Некоторые из моих функций для каждого токена не представлены в числовом формате (в основном в текстовом формате, таком как аффиксы n-char или форма слова,...). Поскольку формат ввода svmstruct такой же, как формат svmlight, я хотел бы знать, как мне преобразовать эти текстовые функции в числовые?

Все лучшее


person user1844172    schedule 15.09.2014    source источник


Ответы (1)


В основном вам нужно кодировать ваши текстовые данные как двоичные категории.

Например, допустим, у вас есть данные

affix    shape
==============
ing      lower
         initcap
ed       allcaps

То, что вы хотите отправить в svmstruct, выглядит примерно так:

affix_ing:1 shape_lower:1
shape_initcap:1
affix_ed:1 shape_allcaps

Теперь вы не можете использовать слова в качестве идентификаторов столбцов, но svmstruct использует разреженный формат, поэтому вы можете использовать отдельные номера столбцов, если они уникальны.

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

hash(colName + colValue) => 1

В зависимости от ваших данных вам может не понадобиться colName. Может ли colName столкнуться с colValue?

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

person dwatson    schedule 26.11.2014