Клонирование корпуса в НЛТК?

Я пытаюсь создать свой корпус в НЛТК. Я читал часть документации по этому поводу, и это кажется довольно сложным ... все, что я хотел сделать, это «клонировать» корпус обзоров фильмов, но с моим собственным текстом. Теперь я знаю, что могу просто заменить файлы в корпусе обзоров перемещения на свои собственные ... но это ограничивает меня работой только с одним таким корпусом за раз (т. Е. Мне придется постоянно обмениваться файлами). Есть ли способ просто клонировать корпус обзоров фильмов?

спасибо Алекс


person izyda    schedule 04.06.2012    source источник


Ответы (2)


Рецензии на фильмы читаются с помощью класса CategorizedPlaintextCorpusReader. Используйте его напрямую, чтобы загрузить свой корпус. Для точной копии корпуса фильмов должно работать следующее:

mr = CategorizedPlaintextCorpusReader(path_to_your_reviews, r'(?!\.).*\.txt',
        cat_pattern=r'(neg|pos)/.*')

Все машины внутри cat_pattern - это категории: в данном случае neg и pos. Если ваш корпус имеет разные категории (например, жанры фильмов, а не положительные / отрицательные оценки), измените структуру каталогов и настройте параметр cat_pattern, чтобы он соответствовал.

PS. Для категоризированных корпусов с разной структурой nltk предлагает множество способов указать категорию; прочтите документацию CategorizedPlaintextCorpusReader.

person alexis    schedule 04.06.2012

Почему бы вам не определить новый корпус, скопировав определение movie_reviews в nltk.corpus? Вы можете делать это сколько угодно с новыми каталогами, а затем копировать структуру каталогов и заменять файлы.

person Jacob    schedule 04.06.2012