НЛП | Чанкинг и изменение с помощью RegEx
Извлечение фрагментов или частичный синтаксический анализ - это процесс значимого извлечения коротких фраз из предложения (помеченных как Part-of-Speech).
Фрагменты состоят из слов, а типы слов определяются с помощью тегов части речи. Можно даже определить шаблон или слова, которые не могут быть частью chuck, и такие слова известны как chinks . ChunkRule class
указывает, какие слова или шаблоны включать и исключать в блоке.
Определение паттернов чанка:
Шаблоны Chuck - это обычные регулярные выражения, которые изменяются и предназначены для соответствия тегу части речи, разработанному для соответствия последовательностям тегов части речи. Угловые скобки используются для указания индивидуального тега, например, для соответствия тегу существительного . Таким же образом можно определить несколько тегов.
Код №1: преобразование фрагментов в шаблон RegEx.
# Laading Library from nltk.chunk.regexp import tag_pattern2re_pattern # Chunk Pattern to RegEx Pattern print ( "Chunk Pattern : " , tag_pattern2re_pattern( '<DT>?<NN.*>+' )) |
Выход :
Шаблон фрагментов: ()? (<(NN [^ {}] *)>) +
Фигурные скобки используются для указания фрагмента, такого как {}
а для указания шаблона фрагмента можно просто перевернуть фигурные скобки }{
. Для определенного типа фразы эти правила (фрагмент и образец фрагмента) могут быть объединены в грамматик.
Код №2: Разбор предложения с помощью RegExParser.
from nltk.chunk import RegexpParser # Introducing the Pattern chunker = 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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.