НЛП | Категоризированный текстовый корпус
Если у нас есть большое количество текстовых данных, то их можно разбить на отдельные разделы.
Код # 1: категоризация
# Loading brown corpus from nltk.corpus import brown brown.categories() |
Выход :
['приключения', 'belles_lettres', 'редакционная статья', 'художественная литература', 'правительство', "хобби", "юмор", "изученный", "знания", "тайна", "новости", "религия", 'reviews', 'romance', 'science_fiction']
Как категоризировать корпус?
Самый простой способ - создать по одному файлу для каждой категории. Ниже приведены два отрывка из корпуса movie_reviews:
- movie_pos.txt
- movie_neg.txt
Используя эти два файла, мы получим две категории - pos и neg.
Код # 2: давайте разберемся
from nltk.corpus.reader import CategorizedPlaintextCorpusReader reader = CategorizedPlaintextCorpusReader( '.' , r 'movie_.*.txt' , cat_pattern = r 'movie_(w+).txt' ) print ( "Categorize : " , reader.categories()) print ( "
Negative field : " , reader.fileids(categories = [ 'neg' ])) print ( "
Posiitve field : " , reader.fileids(categories = [ 'pos' ])) |
Выход :
Категоризация: ['neg', 'pos'] Отрицательное поле: ['movie_neg.txt'] Положительное поле: ['movie_pos.txt']
Код # 3: вместо cat_pattern использование в cat_map
from nltk.corpus.reader import CategorizedPlaintextCorpusReader reader = CategorizedPlaintextCorpusReader( '.' , r 'movie_.*.txt' , cat_map = { 'movie_pos.txt' : [ 'pos' ], 'movie_neg.txt' : [ 'neg' ]}) print ( "Categorize : " , reader.categories()) |
Выход :
Категоризация: ['neg', 'pos']
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.