НЛП | Чанкинг и изменение с помощью RegEx
Извлечение фрагментов или частичный синтаксический анализ - это процесс значимого извлечения коротких фраз из предложения (помеченных как Part-of-Speech).
 Фрагменты состоят из слов, а типы слов определяются с помощью тегов части речи. Можно даже определить шаблон или слова, которые не могут быть частью chuck, и такие слова известны как chinks . ChunkRule class указывает, какие слова или шаблоны включать и исключать в блоке.
Определение паттернов чанка:
 Шаблоны Chuck - это обычные регулярные выражения, которые изменяются и предназначены для соответствия тегу части речи, разработанному для соответствия последовательностям тегов части речи. Угловые скобки используются для указания индивидуального тега, например, для соответствия тегу существительного . Таким же образом можно определить несколько тегов.
Код №1: преобразование фрагментов в шаблон RegEx.
# Laading Libraryfrom nltk.chunk.regexp import tag_pattern2re_pattern # Chunk Pattern to RegEx Patternprint ( "Chunk Pattern : " , tag_pattern2re_pattern( '<DT>?<NN.*>+' ))  | 
Выход :
Шаблон фрагментов: ()? (<(NN [^  {}] *)>) +Фигурные скобки используются для указания фрагмента, такого как {} а для указания шаблона фрагмента можно просто перевернуть фигурные скобки }{ . Для определенного типа фразы эти правила (фрагмент и образец фрагмента) могут быть объединены в грамматик.
Код №2: Разбор предложения с помощью RegExParser.
from nltk.chunk import RegexpParser # Introducing the Patternchunker = RegexpParser(r '''NP:{<DT><NN.*><.*>*<NN.*>}}<VB.*>{''' ) chunker.parse([( 'the' , 'DT' ), ( 'book' , 'NN' ), (    'has' , 'VBZ' ), ( 'many' , 'JJ' ), ( 'chapters' , 'NNS' )])  | 
Выход :
Tree ('S', [Tree ('NP', [('the', 'DT'), ('book', 'NN')]), ('has', 'VBZ'), 
Дерево ('NP', [('многие', 'JJ'), ('главы', 'NNS')])])
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.