У меня есть корпус открытого текста, который я хочу пометить и сохранить, чтобы я мог использовать его в дальнейшем. Как лучше всего это сделать?
Я уже сделал свой тегер, но я не могу найти способ изменить корпус, чтобы он не был беспорядочным.
У меня есть корпус открытого текста, который я хочу пометить и сохранить, чтобы я мог использовать его в дальнейшем. Как лучше всего это сделать?
Я уже сделал свой тегер, но я не могу найти способ изменить корпус, чтобы он не был беспорядочным.
Взгляните на другие корпуса с тегами, такие как коричневый, для примеров вывода. Это даст вам представление о том, как должен выглядеть размеченный корпус. Затем загрузите свой корпус (с PlaintextCorpusReader
) и повторите предложения, пометив каждое предложение. Затем запишите каждое помеченное предложение в файл, создав строку из помеченного предложения, как в ' '.join([tuple2str(t) for t in tagged_sent])
(после того, как вы сделаете from nltk.tag.util import tuple2str
). И это нормально, если ваш код «беспорядочный», если он выполняет свою работу правильно. Здесь вы не ищете элегантный алгоритм, вы запускаете очень специфический скрипт для создания пользовательского корпуса.
Вы делаете простую маркировку unigram или фактически анализируете текст? Я считаю, что NLTK анализирует / тегирует так, что вывод каждого токена (токен, PoS). Является ли массив кортежей неприемлемым для хранения ваших корпусов? Почему вы находите это грязным?