Вопрос

Мне нужна модель для следующих задач:

последовательность слов, с его POS -тегами. Я хочу судить, является ли эта последовательность слов существительной фразой или нет.

Одна модель, о которой я могу придумать, это хм.

Для тех последовательностей, которые являются существительной фразой, мы тренируем HMM (HMM+). Для этого не существительные, мы пробуем хмм (хмм-). И когда мы делаем предсказание для последовательности, мы можем рассчитать P (последовательность | HMM+) и P (последовательность | HMM-). Если первое больше, мы думаем, что эта фраза является существительной, в противном случае это не так.

Что ты думаешь об этом? И есть ли у вас другие модели, подходящие для этого вопроса?

Это было полезно?

Решение 3

Я догадываюсь, что хмм не является правильной моделью. Его можно использовать для угадания POS -тегов, получая последовательность тегов с самыми высокими вероятностями, основанными на предыдущих вероятностях и условных вероятностях от одного токена до следующего.

Для полной существительной фразы я не вижу, как соответствует эта модель.

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

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

http://en.wikipedia.org/wiki/noun_phrase#components_of_noun_phrases

или любое другое лингвистическое описание существительных фраз.

Другие советы

Из того, что я понимаю, у вас уже есть POS -теги для последовательности слов. После того, как у вас есть теги для последовательности слов, вам не нужно использовать HMM для классификации, если последовательность является NP. Все, что вам нужно сделать, это найти шаблоны следующих форм:

  1. определятель, сопровождаемый существительным

  2. прилагательное с последующим существительным

  3. определятель с последующим прилагательным с последующим существительным

так далее

Как кто -то только что упомянул, HMM используются для получения POS -тегов для новой последовательности слов. Но для этого вам нужен тегический корпус, чтобы тренировать хм. В программном обеспечении NLTK есть несколько тегов.

Если ваши последовательности уже помечены, просто используйте грамматические правила, как указано в предыдущем ответе.

Люди используют HMM для маркировки существительных фраз в POS-меченных предложениях, но типичная настройка модели не работает так, как вы описываете.

Вместо этого настройка (см. Chunk tagger-statisticals распознавание существительных фраз (PDF) а также Названное распознавание сущности с использованием Chunk Tagger на основе HMM (PDF) Для примеров) - использовать HMM с тремя состояниями:

  • O (не в NP),
  • B (начало NP),
  • Я (в NP, но не начало).

Каждое слово в предложении будет назначено одно из состояний HMM. В качестве примера, предложение:

/Dt Boy/nn ударил/vt/dt ball/nn с/pp the/dt red/adj bat/nn ./.

может быть идеально помечен следующим образом:

/Dt Беременный мальчик/нн я хит/vt О /dt Беременный мяч/нн я с/с О /dt Беременный красный/прил я летучая мышь/нн я ./. О

Переходы между этими тремя состояниями HMM могут быть ограничены в зависимости от предварительного знания о том, как будут вести себя последовательности; В частности, вы можете перейти только к I от B, но другие переходы возможны с ненулевой вероятностью. Затем вы можете использовать Baum-Welch на корпусе немеченого текста, чтобы обучить ваш HMM (чтобы вообще определить любой тип куски-см. Простая неконтролируемая грамматическая индукция из необработанного текста с каскадными моделями конечного состояния (PDF) для примера), или какой-то метод максимального правдоподобия с корпусом помеченного текста (если вы смотрите специально для существительных фраз).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top