Конкурсы
(17 работ)
01 Июня – 31 Августа
Междисциплинарный проект «Лингвоhome» разработан в соответствии со стандартами Международного бакалавриата (IB) и представляет собой программное веб-приложение (тренажер) для домашнего изучения лингвистических структур на стыке языкознания и IT.
Ниже представлена полная документация проекта, готовая к защите в качестве Personal Project (MYP) или Internal Assessment (DP), включая рабочий программный код и академические источники.
1. Исследовательский этап (Inquiring and Analysing)
Глобальный контекст IB: Научно-техническая инновация (Scientific and technical innovation).
Проблема: Традиционные методы изучения языков (зазубривание) малоэффективны для понимания внутренней логики языка. Студентам сложно увидеть связь между естественным синтаксисом и математическими алгоритмами.
Цель: Создать интерактивное приложение «Лингвоhome» на языке Python для автоматического морфологического анализа текста и визуализации синтаксических связей, чтобы упростить домашнее освоение грамматики.
2. Проектирование и техническая спецификация (Developing Ideas)
Приложение строится на базе трех ключевых компонентов:
Интерфейс (UI/UX): Минималистичное консольное или веб-меню для ввода текста.
Лингвистическое ядро: Библиотека компьютерного анализа Natural Language Toolkit (NLTK) или spaCy для токенизации и частеречной разметки (POS-tagging).
Алгоритмическая логика: Модуль фильтрации, подсчета частотности и выявления синтаксических паттернов.
3. Реализация: Код проекта на Python (Taking Action)
Для запуска этого решения необходим установленный интерпретатор Python и библиотека spacy. Студент может развернуть этот скрипт локально на домашнем компьютере.
python
import spacy
def run_lingvohome():
print("=" * 50)
print(" Добро пожаловать в проект 'Лингвоhome'!")
print(" Междисциплинарный лингво-тренажер (IB Project)")
print("=" * 50)
# 1. Загрузка лингвистической модели (русский язык)
try:
nlp = spacy.load("ru_core_news_sm")
except OSError:
print("\n[Ошибка] Лингвистическая модель не найдена.")
print("Пожалуйста, выполните в терминале команду:")
print("pip install spacy && python -m spacy download ru_core_news_sm")
return
# 2. Ввод анализируемого текста пользователем
user_text = input("\nВведите предложение для лингвистического анализа:\n> ")
if not user_text.strip():
print("Текст не может быть пустым.")
return
# 3. Компьютерная обработка текста (Токенизация и Лемматизация)
doc = nlp(user_text)
print("\n" + "-" * 20 + " РЕЗУЛЬТАТЫ АНАЛИЗА " + "-" * 20)
print(f"{'Токен (Слово)':<15} | {'Начальная форма':<15} | {'Часть речи':<10} | {'Грамматические признаки'}")
print("-" * 65)
counts = {"Существительные": 0, "Глаголы": 0, "Прилагательные": 0, "Прочие": 0}
# 4. Извлечение лингвистических признаков
for token in doc:
# Определение части речи для статистики
if token.pos_ == "NOUN":
counts["Существительные"] += 1
elif token.pos_ == "VERB":
counts["Глаголы"] += 1
elif token.pos_ == "ADJ":
counts["Прилагательные"] += 1
else:
counts["Прочие"] += 1
morph_info = str(token.morph) if str(token.morph) else "Нет данных"
print(f"{token.text:<15} | {token.lemma_:<15} | {token.pos_:<10} | {morph_info}")
# 5. Вывод синтаксической и статистической сводки
print("-" * 65)
print("\n Сводная статистика по тексту:")
for key, value in counts.items():
print(f" * {key}: {value}")
print("\nСтруктурасинтаксическихсвязей:")
for token in doc:
if token.dep_ != "ROOT":
print(f" -> Слово '{token.text}' ({token.pos_}) зависитотслова '{token.head.text}' черезсвязь [{token.dep_}]")
print("=" * 50)
if __name__ == "__main__":
run_lingvohome()
4. Оценка и рефлексия (Evaluating)
Математическая точность: Использование готовой библиотеки spaCy минимизирует вероятность ошибок в определении падежей и частей речи (точность свыше 90%).
Достижение цели: Программа наглядно демонстрирует пользователю структуру языка дома, заменяя ручной разбор автоматическим кодом.
Междисциплинарный вывод: Проект доказал, что синтаксис естественного языка подчиняется строгим математическим графам, аналогичным древовидным структурам данных в программировании.
Готовый результат
Создано и протестировано консольное приложение «Лингвоhome», автоматизирующее синтаксический и морфологический разбор предложений. Проект демонстрирует успешную конвертацию теоретической компьютерной лингвистики в прикладной программный код.
Академические источники для оформления библиографии (MYP/DP)
Официальные руководства IB:
International Baccalaureate Organization. Middle Years Programme: Interdisciplinary teaching and learning guide.Cardiff: IBO, 2021. Официальный сайт IB.
Литература по компьютерной лингвистике:
Большакова Е. И., Клышинский Э. С., Ландо Д. В.Автоматический анализ текста на естественном языке. М.: НИУ ВШЭ, 2017.
Митренина О. В., Романова Е. Е., Слюсарь Н. А.Прикладная и компьютерная лингвистика. М.: ЛЕНАНД, 2016.
Документация программных инструментов:
Справочник по работе с лингвистической библиотекой spaCy для Python. Официальная документация spaCy.
Natural Language Toolkit Documentation. Официальныйсайт NLTK.



