НЛП | Сингулярность существительных множественного числа и замена бесконечных фраз

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

Давайте разберемся с этим на примере:

  1. Достаточно ли дрессируется наш ребенок?
  2. Достаточно ли дрессируется наш ребенок?

Глагол «есть» может использоваться только с существительными в единственном числе. Для существительных во множественном числе мы используем «есть». Эта проблема очень распространена в реальном мире, и мы можем исправить эту ошибку, создав сопоставления исправлений глаголов, которые используются в зависимости от того, есть ли в фрагменте существительное во множественном или единственном числе.

Код # 1: класс singularize_plural_noun ()




def singularize_plural_noun(chunk):
nnsidx = first_chunk_index(chunk, tag_equals( 'NNS' ))
if nnsidx not is None and
nnsidx + 1 < len (chunk) and
chunk[nnsidx + 1 ][ 1 ][: 2 ] = = 'NN' :
noun, nnstag = chunk[nnsidx]
chunk[nnsidx] = (noun.rstrip( 's' ), nnstag.rstrip( 'S' ))
return chunk


Код # 2: сингулярность множественного числа




singularize_plural_noun([( 'recipes' , 'NNS' ), ( 'book' , 'NN' )])

Выход :

[('рецепт', 'NN'), ('книга', 'NN')]

В приведенном выше коде выполняется поиск тега NNS для поиска существительного во множественном числе. После его основания, если следующим словом является существительное (определенное путем проверки того, что тег начинается с NN), мы деплюрализуем существительное во множественном числе, удалив «s» с правой стороны тега и слова.

Обмен бесконечными фразами
Инфинитивная фраза имеет форму A или B , например «мир фильмов». Он может превратить это в «мир кино», и он по-прежнему имеет то же значение.

Код # 3: давайте разберемся с классом swap_infinitive_phrase ()




def swap_infinitive_phrase(chunk):
def inpred(wt):
word, tag = wt
return tag = = 'IN' and word ! = 'like'
inidx = first_chunk_index(chunk, inpred)
if inidx is None :
return chunk
nnidx = first_chunk_index(chunk,
tag_startswith( 'NN' ),
start = inidx, step = - 1 ) or 0
return chunk[:nnidx] + chunk[inidx + 1 :] + chunk[nnidx:inidx]


Код # 4: давайте оценим swap_infinitive_phrase




from transforms import swap_infinitive_phrase
swap_infinitive_phrase([( 'book' , 'NN' ),
( 'of' , 'IN' ), ( 'recipes' , 'NNS' )])

Выход :

[('рецепты', 'NNS'), ('книга', 'NN')]

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

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