2016-07-21 2 views
1

Я пытаюсь использовать Machine Learning для маркировки предложений (каждое предложение с одной меткой, я предполагаю, что предложения не зависят друг от друга). Я думал, что линейная модель CRF будет в порядке для этого случая, но у меня есть некоторые вопросы.Можно ли использовать CRF (условные случайные поля) для обозначения целых предложений?

Я попытался использовать CRF++ (другие реализации, которые я видел, похоже, имеют аналоговые форматы). Он использует предложения как входные данные, но метка вывода назначается каждому токену . Как использовать единую метку для всего предложения? (Хак Я думал о том, чтобы присвоить значительную метки только точку в тестовых данных и рассматривать его в качестве выходного этикетки для всего предложения.)

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

От this question кажется, что то, что я пытаюсь сделать, возможно (одна метка для всей последовательности), , но я не знаю, как форматировать данные для обучения для этого.

+0

Разделите предложение на токены, поместите его в одну строку, а не отдельно, добавьте соответствующие функции, а затем метку. Возможно, он может найти определенные шаблоны. – arjun

ответ

0

Я думаю, вы используете неправильный инструмент для работы. Чтобы классифицировать все предложение, вы можете попробовать использовать что-то вроде быстрого текста Facebook.

https://github.com/facebookresearch/fastText

0

Как сказал Ashemah, может быть, вы используете неправильный инструмент. CRF обычно используются, если вы хотите сгенерировать последовательности меток, например. последовательность слов или даже последовательность предложений. Но, поскольку вы предполагаете, что ваши предложения независимы друг от друга, вы можете посмотреть на каждого из них независимо. Поэтому ваша задача не является маркировкой последовательности, а простой классификацией. Для этого вы можете использовать несколько других моделей, таких как SVM, Naive Bayes, kNN и многие другие.

Смежные вопросы