НЛП | Категоризированный текстовый корпус

Опубликовано: 25 Июля, 2021

Если у нас есть большое количество текстовых данных, то их можно разбить на отдельные разделы.

Код # 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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.