НЛП | Замена глагольных фраз и существительных кардиналов

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

Нужно поменять местами глагольные фразы?
Чтобы исключить пассивный залог в определенных фразах. Эта нормализация полезна при частотном анализе, когда две явно разные фразы считаются одной и той же.

Приведенный ниже код - swap_verb_phrase class который меняет местами левую часть фрагмента на правую, используя глагол в качестве точки поворота. Он использует first_chunk_index() определенную для поиска глагола, вокруг которого нужно развернуться.

Код # 1: swap_verb_phrase класс для замены глагола




def swap_verb_phrase(chunk):
def vbpred(wt):
word, tag = wt
return tag ! = 'VBG' and tag.startswith( 'VB' ) and len (tag) > 2
vbidx = first_chunk_index(chunk, vbpred)
if vbidx is None :
return chunk
return chunk[vbidx + 1 :] + chunk[:vbidx]


Код # 2: оценка swap_verb_phrase




swap_verb_phrase([( 'the' , 'DT' ), ( 'book' , 'NN' ),
( 'was' , 'VBD' ), ( 'great' , 'JJ' )])

Выход :

[('великий', 'JJ'), ('the', 'DT'), ('книга', 'NN')]

Код не вращается вокруг герундий, потому что они обычно используются для описания существительных.

Код № 3:




swap_verb_phrase([( 'this' , 'DT' ),
( 'gripping' , 'VBG' ), ( 'book' , 'NN' ),
( 'is' , 'VBZ' ), ( 'fantastic' , 'JJ' )])

Выход :

[('фантастический', 'JJ'), ('это', 'DT'), ('захватывающий', 'VBG'), ('книга', 'NN')]

Замена существительных кардиналов:
Кардиналы в чанке относятся к числу и помечаются как CD. Эти кардиналы встречаются перед существительным acardinals. Меняя местами существительное cardianals, полезно поставить кардинал перед существительным.

Код # 4: замена кардиналов существительных




swap_noun_cardinal([( 'Dec.' , 'NNP' ), ( '10' , 'CD' )])
swap_noun_cardinal([( 'the' , 'DT' ), ( 'top' , 'NN' ), ( '10' , 'CD' )])

Выход:

[('10', 'CD'), ('Dec.', 'NNP')]

[('the', 'DT'), ('10', 'CD'), ('top', 'NN')]

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.