Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Опыт Q&A уходит в декабре 2026 года. Мы рекомендуем использовать Copilot для Power BI, который предлагает более сложный и интегрированный способ запроса данных с помощью естественного языка. Дополнительные сведения и рекомендуемые альтернативные варианты см. в разделе "Нерекомендуемая поддержка Power BI Q&A".
Важно использовать общие фразы и естественный язык, чтобы спрашивать о ваших данных. Это еще более эффективно, когда ваши данные отвечают. Когда вы задаете вопрос в Power BI Q&A, оно прилагает все усилия, чтобы правильно ответить. Вы можете изменить лингвистическую схему, чтобы улучшить ответы Q&A для более эффективного взаимодействия.
Все начинается с корпоративных данных. Чем лучше модель данных, тем проще пользователям получать качественные ответы. Одним из способов улучшения модели является добавление лингвистической схемы, которая определяет и классифицирует терминологию и связи между именами таблиц и столбцов в наборе данных. Power BI Desktop позволяет управлять лингвистическими схемами.
Есть две стороны Вопросов и Ответов. Первая сторона — подготовка или моделирование. Вторая сторона задает вопросы и изучает данные или использует их. В некоторых компаниях сотрудники, известные как моделиировщики данных или ИТ-администраторы, могут быть теми, кто собирает наборы данных, создает модели данных и публикует наборы данных в Power BI. Другой набор сотрудников будет тем, кто будет "потреблять" данные в Интернете. В других компаниях эти роли могут объединяться.
Эта статья предназначена для моделей данных, людей, которые оптимизируют наборы данных, чтобы обеспечить наилучшие результаты Q&A.
Что такое лингвистическая схема?
Лингвистическая схема описывает термины и фразы, которые Q&A должны понимать для объектов в наборе данных, включая части речи, синонимов и фраз. При импорте или подключении к набору данных Power BI создает лингвистическую схему на основе структуры набора данных. Когда вы задаете вопрос Q&A, он ищет совпадения и связи в данных, чтобы выяснить намерение вашего вопроса. Например, он ищет существительные, глаголы, прилагательные, фразы и другие элементы. И он ищет связи, такие как столбцы, являющиеся объектами глагола.
Вы, вероятно, знакомы с частями речи, но выражения могут быть новым термином. Формулировка это то, как вы говорите о (или формулируете) отношениях между вещами. Например, чтобы описать связь между клиентами и продуктами, можно сказать, что "клиенты покупают продукты". Для описания взаимоотношений между клиентами и возрастом можно сказать: "возраст показывает, сколько лет клиентам". Кроме того, чтобы описать связь между клиентами и телефонными номерами, можно сказать, что у клиентов есть номера телефонов.
Эти выражения доступны во многих формах и размерах. Некоторые из элементов соответствуют связям непосредственно в модели данных. Некоторые связывают столбцы с содержащими их таблицами. Другие связывают несколько таблиц и столбцов в сложные отношения. Во всех случаях они описывают, как вещи связаны с помощью повседневных терминов.
Лингвистические схемы сохраняются в формате YAML. Этот формат связан с популярным форматом JSON, но обеспечивает более гибкий и удобный синтаксис. Лингвистические схемы можно изменять, экспортировать и импортировать в Power BI Desktop.
Предпосылки
- Ознакомьтесь с рекомендациями по оптимизации Q&A в Power BI , чтобы узнать о советах по проектированию и улучшению модели данных. Он содержит важный раздел о добавлении синонимов.
- Скачайте примеры ФАЙЛОВ YAML и PBIX.
- Установите редактор YAML-файла. Мы рекомендуем Visual Studio Code.
Настройка редактора для yaml-файлов
Мы рекомендуем использовать Visual Studio Code для редактирования лингвистических yaml-файлов. Visual Studio Code включает поддержку файлов YAML из коробки и может быть расширена для специальной проверки формата лингвистической схемы Power BI.
Установите Visual Studio Code.
Щелкните правой кнопкой мыши на файле .yaml в примере лингвистической схемы, сохраненной ранее: QnALinguisticSchema.zip.
Выберите «Открыть с помощью»>«Выбрать другое приложение».
Выберите Visual Studio Code и нажмите кнопку Always.
В Visual Studio Code установите расширение YAML Support by Red Hat.
- Выберите вкладку "Расширения" (последняя в меню слева) или CTRL+SHIFT+X.
- Найдите "yaml" и выберите службу поддержки YAML red Hat в списке.
- Выберите Установить > Перезагрузить.
Работа с лингвистическими схемами
Существует два способа работы с лингвистическими схемами. Одним из способов является редактирование, импорт и экспорт файла .yaml из ленты инструментов в Power BI Desktop. Этот способ рассматривается в статье о работе со средством Power BI Q&A. Чтобы улучшить Q&A, не нужно открывать YAML-файл.
Другим способом редактирования лингвистической схемы является экспорт и изменение yaml-файла напрямую. При редактировании лингвистического YAML-файла вы пометите столбцы в таблице как различные грамматические элементы и определите слова, которые коллега может использовать для формулировки вопроса. Например, вы указываете столбцы, которые являются подлежащим и дополнением глагола. Вы добавляете альтернативные слова, которые коллеги могут использовать для ссылки на таблицы, столбцы и меры в модели.
Прежде чем изменить лингвистическую схему, необходимо открыть (экспортировать) ее из Power BI Desktop. Сохранение YAML-файла обратно в том же расположении считается импортом. Но вместо этого можно импортировать другие yaml-файлы. Например, у вас есть аналогичный набор данных и вы уже добавили части речи, определяя связи, создавая фразы и создавая синонимы, можно использовать этот YAML-файл в другом файле Power BI Desktop.
Q&A использует все эти сведения вместе с любыми улучшениями, которые вы делаете, чтобы обеспечить лучший ответ, автозавершение и сводку вопросов.
Изменение лингвистической схемы
При первом экспорте лингвистической схемы из Power BI Desktop большинство содержимого в файле автоматически создается подсистемой Q&A. Эти созданные сущности, слова (синонимы), связи и фразы назначаются с помощью тега State: Createed tag. Они включены в файл в основном для информационных целей, но могут быть полезной отправной точкой для ваших собственных изменений.
Замечание
Пример YAML-файла, включенного в этот учебник, не содержит состояния: создано или состояние: удаленные теги, так как он был подготовлен специально для этого руководства. Чтобы просмотреть эти теги, откройте неотредактированный файл .pbix в режиме просмотра связей и экспортируйте лингвистическую схему.
При импорте файла лингвистической схемы обратно в Power BI Desktop всё, что отмечено State: Generated, игнорируется и затем повторно создаётся. Таким образом, если вы хотите изменить созданное содержимое, удалите соответствующее состояние: созданный тег. Аналогичным образом, если вы хотите удалить некоторое созданное содержимое, измените состояние: созданный тег на State: Deleted , чтобы он не был повторно создан при импорте файла лингвистической схемы.
Экспорт, а затем импорт файла YAML
В Power BI Desktop откройте набор данных в представлении модели.
На вкладке «Моделирование» выберите «Лингвистическая схема»>«Экспорт лингвистической схемы».
Сохраните его. Имя файла заканчивается на .lsdl.yaml.
Откройте его в Visual Code или другом редакторе.
В представлении модели в Power BI Desktop на вкладке "Моделирование" выберите "Импорт лингвистической схемы>".
Перейдите в расположение, в котором вы сохранили измененный YAML-файл и выберите его. Сообщение об успешном выполнении позволяет узнать, что лингвистическая схема yaml-файла успешно импортирована.
Выражения в лингвистической схеме
Формулировка — это то, как вы выражаете отношения между вещами. Например, чтобы описать связь между клиентами и продуктами, можно сказать, что "клиенты покупают продукты".
Откуда приходят фразы?
Power BI добавляет множество простых выражений в лингвистическую схему автоматически на основе структуры модели и угадок на основе имен столбцов. Рассмотрим пример.
- Большинство столбцов относятся к содержащей таблице с простым выражением, например "продукты имеют описания".
- Связи модели приводят к выражениям по умолчанию для обоих направлений связи, таких как "заказы имеют продукты" и "продукты имеют заказы".
- На основе имен столбцов некоторые связи модели могут иметь более сложную формулировку по умолчанию, например, такая как "заказы отправляются в города".
Тем не менее, пользователи иногда говорят о вещах таким образом, что Q&A не может догадаться. Поэтому вам может потребоваться добавить собственные фразы вручную.
Почему добавлять варианты формулировок?
Первая причина добавления фразы заключается в определении нового термина. Например, если вы хотите иметь возможность попросить «перечисли самых старых клиентов», необходимо сначала объяснить Q&A, что вы подразумеваете под «старым». Это можно сделать, добавив фразу, например "возраст указывает, насколько стары клиенты".
Вторая причина добавления фразы заключается в разрешении неоднозначности. Простой поиск ключевых слов имеет ограниченные возможности, особенно когда слова имеют более одного значения. Например, "рейсы в Чикаго" не совпадают с "рейсами из Чикаго". Но система вопросов и ответов не будет знать, что именно вы имеете в виду, если вы не добавите фразы "рейсы вылетают из городов" и "рейсы прилетают в города". Аналогичным образом, Q&A будет понимать только различие между "автомобилями, которые Джон продал Мэри" и "автомобили, которые Джон купил у Мэри" после добавления фраз "клиенты покупают автомобили от сотрудников" и "сотрудники продают клиенты автомобилей".
Последняя причина добавления фразы — это улучшение перефразирования. Вместо того, чтобы ответить на вопрос "Показать клиентов и их продукты", было бы ясно, если бы он сказал: "Показать клиентов и продукты, которые они купили" или "Показать клиентов и продукты, которые они оценили", в зависимости от того, как они поняли вопрос. Добавление пользовательских фраз позволяет делать переформулировки более ясными и недвусмысленными.
Виды фраз
Чтобы понять различные типы выражений, сначала необходимо помнить несколько основных терминов грамматики:
- Существительное — это человек, место или вещь. Примеры: автомобиль, подросток, Марти, флюкс капацитор
- Глагол — это действие или состояние бытия. Примеры: люк, взрыв, пожирание, выброс
- Прилагательное — это описательное слово, которое изменяет существительное. Примеры: мощный, волшебный, золотой, украденный
- Предлог — это слово, используемое перед существительным, чтобы связать его с предыдущим существительным, глаголом или прилагательным. Примеры: из, для, около, от.
- Атрибут является качеством или признаком чего-то.
- Имя — это слово или набор слов, которыми называется человек, животное, место или вещь.
Выражения атрибутов
Основой Q&A являются атрибутивные выражения. Они используются, когда одна вещь выступает в качестве атрибута другой вещи. Они просты и берут на себя большую часть тяжёлой работы, когда вы не определили более тонкую, более подробную фразу. Выражения атрибутов описываются с помощью основного глагола "have" ("продукты имеют категории" и "страны/регионы-хосты имеют хост-городи"). Они также автоматически разрешают вопросы с предлогами "of" и "for" ("категории продуктов" или "заказы на продукты") и притяжательным падежом ("заказы Джона"). Выражения атрибутов используются в следующих типах вопросов:
- У каких клиентов есть заказы?
- Перечисление ведущих городов по странам или регионам по возрастанию
- Показать заказы, которые содержат чай
- Перечислите клиентов с заказами
- Какая категория каждого продукта?
- Подсчет заказов Роберта Кинга
Power BI генерирует большую часть фраз атрибутов, необходимых в вашей модели на основе содержимого таблиц или столбцов и взаимосвязей модели. Как правило, вам не нужно создавать их самостоятельно. Ниже приведен пример того, как выражения атрибутов выглядят внутри лингвистической схемы:
product_has_category:
Binding: {Table: Products}
Phrasings:
- Attribute: {Subject: product, Object: product.category}
Формулировки имен
Выражения имен полезны, если в модели данных есть таблица, содержащая именованные объекты, такие как имена спортсменов или имена клиентов. Например, фраза "Названия продуктов являются именами продуктов" является важной для использования имен продуктов в вопросе. Фразирование имен позволяет использовать "назван" также как глагол (например, "Перечислить клиентов, названных Джоном Смитом"). Тем не менее, это самое важное, если используется в сочетании с другими фразами. Он позволяет использовать значение имени для ссылки на определенную строку таблицы. Например, в разделе "Клиенты, которые купили chai", Q&A может сказать значение "chai" относится ко всей строке таблицы продуктов, а не только к значению в столбце имени продукта. Выражения имен используются в следующих типах вопросов:
- Какие сотрудники называютСя Робертом Кингом
- Кто называется Эрнст Гандель
- Виды спорта Фернанда де Монтиньи
- Количество спортсменов по имени Мэри
- Что купил Роберт Кинг?
Если вы использовали разумное соглашение об именовании для столбцов имен в модели (например, Name или ProductName, а не PrdNm), Power BI создает большинство фраз имен, необходимых для модели автоматически. Обычно вам не нужно создавать их самостоятельно.
Ниже приведен пример того, как выражение имен выглядит внутри лингвистической схемы:
employee_has_name:
Binding: {Table: Employees}
Phrasings:
- Name:
Subject: employee
Name: employee.name
Прилагательные выражения
Прилагательные выражения определяют новые прилагательные, используемые для описания объектов в вашем моделировании. Например, "счастливые клиенты — это клиенты, у которых оценка меньше > 6", фраза необходима для формулировки вопросов, таких как "список счастливых клиентов в Де-Мойне". Существует несколько форм прилагательных фраз для использования в разных ситуациях.
Простые прилагательные фразы определяют новый прилагательный на основе условия, например "прекращенные продукты являются продуктами, где состояние = D". Простые прилагательные фразы используются в следующих типах вопросов:
- Какие продукты прекращены?
- Список прекращенных продуктов
- Перечисление золотых медалистов
- Продукты, находящиеся в ожидании поставки
Ниже приведен пример того, как простое прилагательное выражение выглядит внутри лингвистической схемы:
product_is_discontinued: продукт снят с производства:
Binding: {Table: Products}
Conditions:
- Target: product.discontinued
Operator: Equals
Value: true
Phrasings:
- Adjective:
Subject: product
Adjectives: [discontinued]
Прилагательные выражения измерения определяют новое прилагательное на основе числового значения, указывающего степень применения прилагательного выражения, например "длина реки" и "малые страны или регионы имеют небольшие области земли". Прилагательные выражения измерения используются в следующих типах вопросов:
- Перечисление длинных рек
- Какие реки являются самыми длинными?
- Список наименьшей страны или регионов, которые выиграли золото в баскетболе
- Какова длина Рио-Гранде?
Вот пример того, как измерительное прилагательное формируется в лингвистической схеме:
река_имеет_длину:
Binding: {Table: Rivers}
Phrasings:
- Adjective:
Subject: river
Adjectives: [long]
Antonyms: [short]
Measurement: river.length
Динамические фразы с прилагательными определяют набор новых прилагательных на основе значений в столбце модели, таких как "цвета описывают продукты" и "события имеют род событий". Динамические фразы с прилагательными используются в следующих типах вопросов:
- Перечислите красные продукты
- Какие продукты зеленые?
- Соревнования по фигурному катанию среди женщин
- Число активных проблем
Ниже приведен пример того, как динамическое прилагательное выражение выглядит внутри лингвистической схемы:
product_has_color:
Binding: {Table: Products}
Phrasings:
- DynamicAdjective:
Subject: product
Adjective: product.color
Именные фразы
Именные фразы определяют новые существительные, описывающие подмножества вещей в вашей модели. Они часто включают некоторые типы измерения или условия для конкретной модели. Например, для нашей модели нам может потребоваться добавить фразы, которые отличают чемпионов от медалистов, земельных видов спорта от водных видов спорта, команд и отдельных лиц или возрастных категорий спортсменов (подростков, взрослых, пожилых людей). Для нашей базы данных фильмов нам может потребоваться добавить фразы, определяющие «флопы как фильмы с чистой прибылью < 0», чтобы мы могли задавать такие вопросы, как «подсчитать флопы по годам». Существует две формы существительных фраз для использования в разных ситуациях.
Простые именные выражения определяют новое существительное на основе условия, например, "подрядчики — это сотрудники, если полный рабочий день = false" и "чемпион — это спортсмен, если количество медалей >5". Простые именные выражения используются в следующих видах вопросов:
- Какие сотрудники являются подрядчиками?
- Подсчет подрядчиков в Портленде
- Сколько чемпионов в 2016 году
Ниже приведен пример того, как простое фразирование существительных выглядит внутри лингвистической схемы:
сотрудник_является_подрядчиком
Binding: {Table: Employees}
Conditions:
- Target: employee.full_time
Operator: Equals
Value: false
Phrasings:
- Noun:
Subject: employee
Nouns: [contractor]
Динамические выражения существительных определяют набор новых существительных на основе значений в столбце модели, таких как "задания определяют подмножества сотрудников". Динамические фразы существительных используются в следующих типах вопросов:
- Перечислите кассиров в Чикаго
- Какие сотрудники являются баристами?
- Перечислите судей в 1992 году
Ниже приведен пример того, как динамическое выражение существительных выглядит внутри лингвистической схемы:
employee_has_job:
Binding: {Table: Employees}
Phrasings:
- DynamicNoun:
Subject: employee
Noun: employee.job
Препозиция фраз
Препозиции используются для описания того, как вещи в модели связаны с помощью препозиций. Например, фраза "города находятся в странах или регионах" улучшает понимание таких вопросов, как "подсчет городов в Вашингтоне". Некоторые фразы предлогов формируются автоматически при распознании столбца как географического объекта. Предложные фразы используются в таких типах вопросов:
- Подсчет клиентов в Нью-йорке
- Перечисление книг о лингвистике
- В каком городе Роберт Кинг?
- Сколько книг есть у Стивена Пинкера?
Ниже приведен пример того, как препозиция выглядит внутри лингвистической схемы:
клиенты_находятся_в_городах
Binding: {Table: Customers}
Phrasings:
- Preposition:
Subject: customer
Prepositions: [in]
Object: customer.city
Глагольные фразы
Глагольные фразы используются для описания того, как вещи в вашей модели связаны с помощью глаголов. Например, фраза "клиенты покупают продукты" улучшает понимание вопросов, таких как "кто купил сыр?" и "что купил Джон?" Глагольные выражения являются наиболее гибкими из всех типов фраз, часто связывая более двух вещей между собой, например, "сотрудники продают клиентам продукты". Выражения глаголов используются в следующих типах вопросов:
- Кто, что продал кому?
- Какой сотрудник продал чай Джону?
- Сколько клиентах купили чай у Марии?
- Перечислить продукты, которые Мэри продала Джону.
- Какие снятые с производства продукты были проданы сотрудниками Бостона клиентам из Чикаго?
Фразы глаголов также могут содержать предпозиционные фразы, тем самым добавляя к их гибкости, такие как "спортсмены выигрывают медали на соревнованиях" или "клиенты получают возмещение за продукты". Выражения глаголов с препозициональными фразами используются в следующих типах вопросов:
- Сколько спортсменов выиграли золотую медаль на чемпионате Виз?
- Какие клиенты получили возмещение за сыр?
- На каком конкурсе Данелл Лейва выиграл бронзовую медаль?
Некоторые фразовые глаголы создаются автоматически, когда столбец распознается как содержащий как глагол, так и предлог.
Ниже приведен пример того, как фраза глагола выглядит внутри лингвистической схемы:
покупатели_покупают_товары_у_продавцов
Binding: {Table: Orders}
Phrasings:
- Verb:
Subject: customer
Verbs: [buy, purchase]
Object: product
PrepositionalPhrases:
- Prepositions: [from]
Object: salesperson
Различные формулировки в отношениях
Часто одна связь может быть описана несколькими способами. В этом случае одно отношение может иметь несколько формулировок. Обычно связь между сущностью таблицы и сущностью столбца имеет как формулировку атрибута, так и другую формулировку. Например, в отношении между клиентом и именем клиента вам понадобится как формулировка атрибута (например, "клиенты имеют имена"), так и формулировка имени (например, "имена клиентов являются именами клиентов"), чтобы вы смогли задать оба типа вопросов.
Ниже приведен пример того, как связь с двумя выражениями выглядит внутри лингвистической схемы:
клиент_имеет_имя:
Binding: {Table: Customers}
Phrasings:
- Attribute: {Subject: customer, Object: customer.name}
- Name:
Subject: customer
Object: customer.name
Еще одним примером будет добавление альтернативного выражения "сотрудники продают продукты клиентов" в отношения "клиенты покупают продукты от сотрудников". Вам не нужно добавлять такие варианты, как "сотрудники продают продукты
Рекомендации и устранение неполадок
Если изменить файл .lsdl.yaml, который не соответствует формату лингвистической схемы, проверка указывает на проблему:
Дополнительные вопросы? Спросите Сообщество Power BI