Маллет CRF SimpleTagger фразы / несколько слов

Я новичок в Mallet, я пытаюсь использовать mallet Simple tagger/CRF и экспериментирую с фразами - я пробовал искать документацию на сайте mallet, а также просматривал пользовательские архивы - ничего не помогло.

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

Образцы тренировочных данных:

where STOPWORD
is STOPWORD
chicago CITY
<---Newline---->
Sunnyvale CITY
<---Newline---->
Chicago CITY
<---Newline---->
Washington CITY
<---Newline---->
What STOPWORD
is STOPWORD
Sunnyvale CITY
time ASK
<---Newline---->
new STOPWORD
<---Newline---->    
place STOPWORD 

У меня проблема, когда названия городов состоят из нескольких слов, скажем

new york CITY

Пожалуйста, обратите внимание, что в приведенных выше данных обучения "новый" является STOPWORD Вопросы

  1. Для простого тегера, хорошо ли вышеприведенное представление? Если нет, то как я представляю фразы?
  2. Если нет, то как представлять данные таким образом, чтобы SimpleTagger/CRF мог использовать предыдущие 'n' слова для получения тега? то есть вид моего ввода

1 ответ

Насколько я знаю, формат, который вы использовали для выражений из нескольких слов, не является правильным. Согласно здесь, формат ввода - featre1 feature2 feature3 ....

Так что, в вашем случае, New - это Feature1, York - это Feature 2 и т. Д.

Я предлагаю использовать New_York, чтобы ваши выражения из нескольких слов были одним словом.

Между тем, вы должны заметить, что вам не нужно включать сами слова во входные данные. Если вы это сделаете, они будут рассматриваться как первая функция. Так что, если "слово текст" или "слово лемма" вам не интересна, выбросьте его из своих входных данных.

Другие вопросы по тегам