Связанные понятия
Сема́нтика в программировании — дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей. В качестве инструментов построения таких моделей могут использоваться различные средства, например, математическая логика, λ-исчисление, теория множеств, теория категорий, теория моделей, универсальная алгебра. Формализация семантики языка программирования может использоваться как для описания языка, определения свойств языка...
Описательные ло́гики или дескрипцио́нные ло́гики(сокр. ДЛ, англ. description logics, иногда используется неточный перевод: дескрипти́вные логики) — семейство языков представления знаний, позволяющих описывать понятия предметной области в недвусмысленном, формализованном виде. Они сочетают в себе, с одной стороны, богатые выразительные возможности, а с другой — хорошие вычислительные свойства, такие как разрешимость и относительно невысокая вычислительная сложность основных логических проблем, что...
Подробнее: Дескрипционная логика
Дистрибути́вная сема́нтика — это область лингвистики, которая занимается вычислением степени семантической близости между лингвистическими единицами на основании их распределения (дистрибуции) в больших массивах лингвистических данных (текстовых корпусах).
Семанти́ческий ана́лиз — этап в последовательности действий алгоритма автоматического понимания текстов, заключающийся в выделении семантических отношений, формировании семантического представления текстов. Один из возможных вариантов представления семантического представления — структура, состоящая из «текстовых фактов». Семантический анализ в рамках одного предложения называется локальным семантическим анализом.
В информатике
лексический анализ («токенизация», от англ. tokenizing) — процесс аналитического разбора входной последовательности символов на распознанные группы — лексемы, с целью получения на выходе идентифицированных последовательностей, называемых «токенами» (подобно группировке букв в словах). В простых случаях понятия «лексема» и «токен» идентичны, но более сложные токенизаторы дополнительно классифицируют лексемы по различным типам («идентификатор, оператор», «часть речи» и т. п.). Лексический...
Абстрактное синтаксическое дерево (АСД) — в информатике конечное помеченное ориентированное дерево, в котором внутренние вершины сопоставлены (помечены) с операторами языка программирования, а листья — с соответствующими операндами. Таким образом, листья являются пустыми операторами и представляют только переменные и константы.
Синтакси́ческий ана́лиз (или разбор, жарг. па́рсинг ← англ. parsing) в лингвистике и информатике — процесс сопоставления линейной последовательности лексем (слов, токенов) естественного или формального языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево). Обычно применяется совместно с лексическим анализом.
Пролог (англ. Prolog) — язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Корефере́нтность или референциональное тождество — отношение между именами — компонентами высказывания, в котором имена ссылаются на один и тот же объект (ситуацию) внеязыковой действительности (референт).
Расширенная форма Бэкуса — Наура (расширенная Бэкус — Наурова форма (РБНФ)) (англ. Extended Backus–Naur Form (EBNF)) — формальная система определения синтаксиса, в которой одни синтаксические категории последовательно определяются через другие. Используется для описания контекстно-свободных формальных грамматик. Предложена Никлаусом Виртом. Является расширенной переработкой форм Бэкуса — Наура, отличается от БНФ более «ёмкими» конструкциями, позволяющими при той же выразительной способности упростить...
Метало́гика — изучение метатеории логики. В то время, как логика представляет собой исследование способов применения логических систем для рассуждения, доказательств и опровержений, металогика исследует свойства самих логических систем.
Абстрактный семантический граф — это более высокий уровень абстракции, чем абстрактное синтаксическое дерево (АСД), которое используется для описания синтаксической структуры выражения или программы.
Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
Семанти́ческие веб-се́рвисы (англ. Semantic Web Services, SWS; иногда Semantic Web Web Services, SWWS) — законченные элементы программной логики с однозначно описанной семантикой, доступные через Интернет и пригодные для автоматизированного поиска, композиции и выполнения с учетом их семантики. В тематической литературе часто называются «динамической составляющей семантической паутины».
Обобщённое программирование (англ. generic programming) — парадигма программирования, заключающаяся в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание. В том или ином виде поддерживается разными языками программирования. Возможности обобщённого программирования впервые появились в виде дженериков (обобщённых функций) в 1970-х годах в языках Клу и Ада, затем в виде параметрического полиморфизма в ML и его потомках, а затем во многих объектно-ориентированных...
Динамическая и формальная эквивалентность (термин ввёл Юджин Найда) — это два различных подхода к переводу, которые помогают избежать буквализмов из текста оригинала в тексте перевода, что наблюдалось в переводах Библии.
Логика разделения , сепарационная логика (англ. separation logic) в информатике — формальная система, предназначенная для верификации программ, содержащих изменяемые структуры данных и указатели, расширение логики Хоара. Разработана Джоном Рейнольдсом (англ. John C. Reynolds), Питером О’Хирном (англ. Peter O'Hearn), Самином Иштиаком (англ. Samin Ishtiaq) и Хонсёком Яном (англ. Hongseok Yang) на основе работ Рода Бёрстола (англ. Rod Burstall). Язык утверждений логики разделения является специальным...
Индукция грамматики (или грамматический вывод) — это процесс в машинном обучении для обучения формальной грамматике (обычно в виде набора правил вывода или порождающих правил или, альтернативно, как конечный автомат или автомат другого вида) из набора наблюдений, то есть построение модели, которая описывает наблюдаемые объекты. Более обще, грамматический вывод — это такая ветвь машинного обучения, в которой пространство примеров состоит из дискретных комбинаторных объектов, таких как строки, деревья...
Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию).
Формальная грамматика или просто грамматика в теории формальных языков — способ описания формального языка, то есть выделения некоторого подмножества из множества всех слов некоторого конечного алфавита. Различают порождающие и распознающие (или аналитические) грамматики — первые задают правила, с помощью которых можно построить любое слово языка, а вторые позволяют по данному слову определить, входит ли оно в язык или нет.
Компоне́нтный ана́лиз — в языкознании: метод исследования плана содержания значимых единиц языка, целью которого является разложение значения на минимальные семантические составляющие. Основан на гипотезе о том, что значение всякой языковой единицы состоит из семантических компонентов (сем) и словарный состав языка может быть описан с помощью ограниченного (сравнительно небольшого) числа семантических признаков.
Синтаксис языка программирования — набор правил, описывающий комбинации символов алфавита, считающиеся правильно структурированной программой (документом) или её фрагментом. Синтаксису языка противопоставляется его семантика. Синтаксис языка описывает «чистый» язык, в то же время семантика приписывает значения (действия) различным синтаксическим конструкциям.
Структурное прогнозирование или структурное обучение является собирательным термином для техник обучения машин с учителем, которые вовлекают предвидение структурных объектов, а не скалярных дискретных или вещественных значений.
Идиома программирования — устойчивый способ выражения некоторой составной конструкции в одном или нескольких языках программирования. Идиома является шаблоном решения задачи, записи алгоритма или структуры данных путём комбинирования встроенных элементов языка.
Синтаксический сахар (англ. syntactic sugar) в языке программирования — это синтаксические возможности, применение которых не влияет на поведение программы, но делает использование языка более удобным для человека.
Семантическая роль имени при предикате — в языкознании: часть семантики предиката, отражающая общие свойства аргумента предиката — участника называемой предикатом ситуации. Описание в терминах семантических ролей отражает сходства моделей управления различных предикатных слов.
Отображение онтологий (англ. ontology alignment или ontology matching) — это процесс установления соответствий между понятиями (концептами) нескольких онтологий. Множество таких соответствий и называется «отображением». Термин имеет разное значение в компьютерной, когнитивной областях и философии.
Тип данных (тип) — множество значений и операций на этих значениях (IEEE Std 1320.2-1998).
Системно-функциональная лингвистика (СФЛ) - это подход к лингвистике, рассматривающий язык как социальную семиотическую систему. Данный подход был разработан Майклом Халлидеем, который перенял понятие системы от своего учителя, Дж. Р. Ферса. В то время как Ферс считал, что системы ссылались на возможности, подчиненные структуре, Халлидей в некотором смысле «освободил» сферу выбора от структуры и сделал выбор основополагающим понятием своей теории. Другими словами, в то время как многие подходы к...
Интерпретатор (англ. Interpreter) — поведенческий шаблон проектирования, решающий часто встречающуюся, но подверженную изменениям, задачу. Также известен как Little (Small) Language...
Сравне́ние в программировании — общее название ряда операций над па́рами значений одного типа, реализующих математические отношения равенства и порядка. В языках высокого уровня такие операции, чаще всего, возвращают булево значение («истина» или «ложь»).
Семанти́ческая сеть — информационная модель предметной области, имеющая вид ориентированного графа, вершины которого соответствуют объектам предметной области, а дуги (рёбра) задают отношения между ними. Объектами могут быть понятия, события, свойства, процессы. Таким образом, семантическая сеть является одним из способов представления знаний. В названии соединены термины из двух наук: семантика в языкознании изучает смысл единиц языка, а сеть в математике представляет собой разновидность графа...
Выделение знаний (англ. Knowledge extraction) — это создание знаний из структурированных (реляционных баз данных, XML) и неструктурированных источников (тексты, документы, изображения). Полученное знание должно иметь формат, позволяющий компьютерный ввод, и должно представлять знания так, чтобы облегчить логические выводы. Хотя по методике процесс подобен извлечению информации (обработке естественного языка, англ. Natural language processing, NLP) и процессу «Извлечения, Преобразования, Загрузки...
Предика́т (лат. praedicatum «сказанное») в логике и лингвистике — сказуемое суждения, то, что высказывается (утверждается или отрицается) о субъекте. Предикат находится с субъектом в предикативном отношении и показывает наличие (отсутствие) у предмета некоторого признака.
Нисходящий синтаксический анализ (англ. top-down parsing) — это один из методов определения принадлежности входной строки к некоторому формальному языку, описанному LL(k) контекстно-свободной грамматикой. Это класс алгоритмов грамматического анализа, где правила формальной грамматики раскрываются, начиная со стартового символа, до получения требуемой последовательности токенов.
Порожда́ющая сема́нтика , генерати́вная семантика — одно из направлений в теории трансформационных порождающих грамматик, ставившее целью построить модель языка по схеме «от значения к тексту» и «от текста к значению». Представляла собой частный метод грамматического описания.
Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули. Основная роль системы типов заключается в уменьшении числа багов в программах посредством определения интерфейсов между различными частями программы и последующей проверки согласованности взаимодействия этих частей. Эта проверка может происходить статически (на стадии компиляции) или динамически...
Формальный язык в математической логике и информатике — множество конечных слов (строк, цепочек) над конечным алфавитом. Понятие языка чаще всего используется в теории автоматов, теории вычислимости и теории алгоритмов. Научная теория, которая имеет дело с этим объектом, называется теорией формальных языков.
Логическая семантика — «Философский термин» — («рассуждение», «мысль», «разум») — раздел логики, в котором изучаются отношения языковых символов к обозначаемым ими объектам и выражаемому ими содержанию.
Есте́ственный язы́к — в лингвистике и философии языка язык, используемый для общения людей (в отличие от формальных языков и других типов знаковых систем, также называемых языками в семиотике) и не созданный целенаправленно (в отличие от искусственных языков).
Семанти́ческий механи́зм рассужде́ний (англ. semantic reasoner), семанти́ческая машина формирования рассуждений (англ. reasoning engine) или движо́к пра́вил (англ. rules engine) — это часть программного обеспечения, способная вывести логические умозаключения (англ. Logical consequence) из набора адекватно формализованных базовых знаний или аксиом. Понятие семантического механизма рассуждений обобщает понятие машины вывода, предоставляя более богатый набор механизмов для работы. Правила вывода обычно...
Аппликативное программирование — один из видов декларативного программирования, в котором написание программы состоит в систематическом осуществлении применения одного объекта к другому. Результатом такого применения вновь является объект, который может участвовать в применениях как в роли функции, так и в роли аргумента и так далее. Это делает запись программы математически ясной. Тот факт, что функция обозначается выражением, свидетельствует о возможности использования значений-функций — функциональных...
Контекстно-свободная грамматика (КС-грамматика, бесконтекстная грамматика) — частный случай формальной грамматики (тип 2 по иерархии Хомского), у которой левые части всех продукций являются одиночными нетерминалами (объектами, обозначающими какую-либо сущность языка (например: формула, арифметическое выражение, команда) и не имеющими конкретного символьного значения). Смысл термина «контекстно-свободная» заключается в том, что есть возможность применить продукцию к нетерминалу, причём независимо...
Теория оптимальности (ОТ) — лингвистическая теория, предложенная в начале 90-х годов 20-го века П. Смоленским, А. Принсом, Дж. Маккарти и др. Теория оптимальности возникла в рамках фонологии, однако вскоре нашла применение и в других областях лингвистики. ОТ обычно рассматривается как направление в рамках генеративной лингвистики, предметом которой является исследование универсальных принципов языка, лингвистической типологии, механизмов усвоения языка, порождения и восприятия речи. ОТ часто называют...
Исчисление взаимодействующих систем (англ. Calculus of Communicating Systems, CCS, исчисление общающихся систем) в информатике — исчисление процессов, разработанное Робином Милнером в 1980 году. Исчисление работает с моделью неразделяемых коммуникаций между ровно двумя участниками. Формальный язык включает примитивы для описания параллельной композиции, выбора между действиями и рамки ограничений. CCS полезен для оценки качественной корректности свойств таких как взаимная блокировка или «живая блокировка...
Пара́метр в программировании — принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр — в каком качестве функция применила это принятое. То есть вызывающий код передает аргумент в параметр, который определен в члене спецификации функции.
Формальная семантика — дисциплина, изучающая семантику (интерпретации) формальных и естественных языков путём их формального описания в математических терминах.
Универсальная грамматика — термин, которым в ряде лингвистических теорий обозначается предполагаемый набор правил или принципов, присущих каждому человеческому языку. Подобные правила не определяют язык полностью: они допускают значительную вариантность, но ограничивают её некоторыми конечными рамками. В современной когнитивной науке универсальная грамматика понимается как встроенное на генетическом уровне знание о языке.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.