You are on page 1of 7

Disciplina: Lingvistica Computațională

Lucrarea de laborator nr.5


Tema: “Extragerea PDV”

A efectuat student (ul/a): ____________(D.Polisciuc, gr. IA-214 )

A controlat:______________(asist.univ. R.Branişte )

Chişinău 2023
Оглавление
Введение...........................................................................................................................................3
1.Цель работы:.................................................................................................................................3

2.Задание..........................................................................................................................................3

Решение............................................................................................................................................4
3.Код.................................................................................................................................................4

4.Выполнение...................................................................................................................................5

Вывод.................................................................................................................................................6

Библиография................................................................................................................................7

2
Лабораторная работа

Введение

1.Цель работы:
Изучение способа разработки приложения (при желании с использованием языка
программирования), позволяющее извлекать определенные части речи из произвольного
текста. 

2.Задание
Разработать приложение (при желании с использованием языка программирования),
позволяющее извлекать определенные части речи из произвольного текста. Будут выбраны 2
части речи.  

3
Решение
3.Код
Код был написан на языке программирования Python для реализации в онлайн компиляторе
pythonanywhere (https://www.pythonanywhere.com ). Для разработки приложения, которое
извлекает определенные части речи из текста, мы будем использовать библиотеку Natural
Language Toolkit (NLTK) на языке Python. Для извлечения частей речи из текста мы будем
использовать функцию pos_tag из модуля nltk. Она принимает на вход список токенов (слов)
и возвращает список кортежей, каждый из которых содержит слово и его часть речи.
Функция def extract_parts_of_speech(text) принимает на вход текст, разбивает его на
предложения с помощью sent_tokenize, а затем на слова с помощью word_tokenize. Затем для
каждого слова определяется его часть речи с помощью pos_tag. Если это существительное,
оно добавляется в список nouns, если глагол, то в список verbs.
Функция возвращает словарь с двумя ключами: nouns и verbs, каждый из которых содержит
список извлеченных существительных и глаголов соответственно.
Код:

import nltk
# Загрузка необходимых данных из nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')

# Определение функции для извлечения частей речи


def extract_parts_of_speech(text):
nouns = [] # список существительных
verbs = [] # список глаголов

sentences = nltk.tokenize.sent_tokenize(text) # токенизация предложений

for sentence in sentences:


words = nltk.tokenize.word_tokenize(sentence) # токенизация слов
tagged_words = nltk.pos_tag(words) # определение частей речи для каждого слова

for word, tag in tagged_words:

4
if tag.startswith('NN'): # если слово является существительным
nouns.append(word) # добавляем его в список существительных
elif tag.startswith('VB'): # если слово является глаголом
verbs.append(word) # добавляем его в список глаголов
# возвращаем словарь с найденными существительными и глаголами
return {'nouns': nouns, 'verbs': verbs}

# Текст для анализа


text = 'We have found a place for the meeting cafe that is good for us from the point of view of
price and geographical location.'
# Вызываем функцию extract_parts_of_speech и передаем ей переменную text
result = extract_parts_of_speech(text)

# Выводим список существительных, найденных в тексте


print('Существительные:', result['nouns'])

# Выводим список глаголов, найденных в тексте


print('Глаголы:', result['verbs'])

4.Выполнение

Рис.1 Выполнение кода для реализации приложения

5
Вывод

На данной лабораторной работе я изучил способ разработки приложения с


использованием языка программирования python для компилятора pythonanywhere,
позволяющее извлекать определенные части речи из произвольного текста. В моём частном
случае извлекаются глаголы и имена существительные.

6
Библиография
1. Хабр, Книга «Обработка естественного языка. Python и spaCy на практике»,
https://habr.com/ru/company/piter/blog/556140/ , доступно [28.03.2023]
2. hse.ru, Книга «Обработка естественного языка. Python и spaCy на практике»,
https://www.hse.ru/data/2017/07/22/1173852775/NLPandDA_4print.pdf , доступно [28.03.2023]

You might also like