Почему нам нужно обучать PunktSentenceTokenizer? Как он проходит обучение в бэкэнд? [Дубликат]

Другой подход заключается в перенаправлении портов:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 900 -j REDIRECT --to-port 3000

И запустите ваш сервер на> 1024 портах:

require('http').createServer().listen(3000);

ps то же самое можно сделать для https (443 ) порт между прочим.

4
задан Riken Shah 22 June 2016 в 06:21
поделиться

2 ответа

Глядя на исходный код для sent_tokenize(), показано, что в этом методе в настоящее время используется предварительно обученный токенизатор punkt, поэтому он эквивалентен PunktSentenceTokenizer. Независимо от того, нужно ли вам переучивать токенизатор, зависит от характера текста, с которым вы работаете. Если это не слишком экзотично, как газетные статьи, то вы, скорее всего, найдете достаточно подготовленный токенизатор. Токенизация сводится к задаче категоризации, и поэтому различные токенизаторы можно сравнить, используя типичные показатели, такие как точность, отзыв, f-оценка и т. Д. По помеченным данным.

Tokkenizer punkt основан на работе, опубликованной в следующем документе:

http://www.mitpressjournals.org/doi/abs/10.1162/coli.2006.32 .4.485 # .V2ouLXUrLeQ

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

Вот пример вопроса о SO, где пользователь обнаружил недостаточно подготовленный токенизатор и ему нужно было тренировать новый:

Как настроить токенизатор предложения NLTK

Этот текст был Moby Dick, а структура нечетных предложений включала токенизатор , Некоторые примеры того, где вам может понадобиться подготовить свой собственный токенизатор, - это социальные сети (например, твиттер) или техническая литература с множеством странных аббревиатур, которые не встречаются заранее подготовленным токенизатором.

8
ответ дан Community 16 August 2018 в 03:35
поделиться
  • 1
    Это гораздо лучший ответ, чем мой. Я бросился туда. Да, тренировка важна для токенизаторов, если вы работаете с шумными данными (например, твитами), где предложения могут быть или не быть грамматически правильными или структурно звуковыми. Сравнение производительности токенизаторов - это выдержка, которую вы могли бы выполнить, если у вас есть желание сделать это. Но не ожидайте, что токенизаторы слишком сильно меняются на хорошо сделанные предложения . – Mayur H 22 June 2016 в 08:18

Предложения и слова часто обозначаются вручную. Существуют различные корпорации, которые занимаются тегами POS для слов в соответствии с контекстами предложений. PunktSentenceTokenizer используется, когда ваши данные (предложения и слова) нуждаются в обучении для достижения единообразного понимания того, как слова должны быть помечены контекстуально. Возможно, ученый данных вручную аннотирует слова теги для целого ряда предложений, а затем говорит машине, чтобы узнать их (контролируемое обучение). Однако PunktSentenceTokenizer использует алгоритмы ML, чтобы самостоятельно изучить эти теги (неконтролируемые). Вы просто выбираете, с какими данными он тренируется.

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

1
ответ дан Mayur H 16 August 2018 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: