НЛП | Сингулярность существительных множественного числа и замена бесконечных фраз
Давайте разберемся с этим на примере:
- Достаточно ли дрессируется наш ребенок?
- Достаточно ли дрессируется наш ребенок?
Глагол «есть» может использоваться только с существительными в единственном числе. Для существительных во множественном числе мы используем «есть». Эта проблема очень распространена в реальном мире, и мы можем исправить эту ошибку, создав сопоставления исправлений глаголов, которые используются в зависимости от того, есть ли в фрагменте существительное во множественном или единственном числе.
Код # 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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.