Классификация текстов
Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:
Написать в чат Написать в Telegram
Для такого проекта в Яндекс Заданиях есть пресет Кликбейт или нет?
Пресет помогает классифицировать любой тип текста для обучения классификаторов и NLP-моделей.
Посмотрите пример — интерфейс разметки включает блок текста и радиокнопки для разных категорий. В нем уже настроена валидация, горячие клавиши и внешний вид задания.
Из каких компонентов состоит этот пример
- view.text — показывает текст;
{% cut "Показать код" %}
```json
{
"type": "view.text",
"label": "Headline",
"content": {
"type": "data.input",
"path": "headline"
}
}
```
{% endcut %}
- field.button-radio-group — добавляет группу переключателей-кнопок для выбора одного ответа;
{% cut "Показать код" %}
```json
{
"type": "field.button-radio-group",
"validation": {
"type": "condition.required"
},
"label": "Is this headline clickbait?",
"options": [
{
"label": "Clickbait",
"value": "yes"
},
{
"value": "no",
"label": "Not clickbait"
}
],
"data": {
"type": "data.output",
"path": "result"
}
}
```
{% endcut %}
- condition.required — проверяет, что поле с данными заполнено;
{% cut "Показать код" %}
```json
{
"type": "condition.required",
"hint": "Select an option"
}
```
{% endcut %}
- plugin.toloka — настраивает внешний вид задания;
{% cut "Показать код" %}
```json
{
"type": "plugin.toloka",
"layout": {
"kind": "scroll",
"taskWidth": 500
}
}
```
{% endcut %}
- plugin.hotkeys — добавляет горячие клавиши.
{% cut "Показать код" %}
```json
{
"1": {
"type": "action.set",
"data": {
"type": "data.output",
"path": "result"
},
"payload": "yes"
},
"2": {
"type": "action.set",
"data": {
"type": "data.output",
"path": "result"
},
"payload": "no"
},
"type": "plugin.hotkeys"
}
```
{% endcut %}
Примечание
Вы можете добавлять медиафайлы (аудио, видео, картинки) со своего сервера или из облачных хранилищ, таких как Yandex Cloud, Google Cloud, Amazon AWS и т.п.
Если вам не подходит этот пресет, посмотрите другие примеры в этом разделе.
Добавить описание
Чтобы добавить описание к заданию, воспользуйтесь компонентом view.text.
Показать код
{
"type": "view.text",
"content": "Read the headline and tell if it is clickbait."
}
Добавить поле для ввода ответа
Чтобы исполнители могли оставить комментарий, добавьте компонент для ввода многострочного текста field.textarea.
Показать код
{
"type": "field.textarea",
"label": "Comments",
"placeholder": "Enter text",
"data": {
"type": "data.output",
"path": "comment"
}
}
Добавить оформление
Чтобы исполнитель легче ориентировался в задании, оформите разные типы данных цветом с помощью компонента view.alert. Вы можете расположить его внутри view.list вместе с другими компонентами.
В этом примере описание выделено синим цветом, а кнопки — желтым.
Показать код
{
"type": "view.alert",
"theme": "info",
"content": {
"type": "view.text",
"content": "Look at the text and tell if it is clickbait."
}
},
{
"type": "view.text",
"label": "Headline",
"content": {
"type": "data.input",
"path": "headline"
}
},
{
"type": "view.alert",
"theme": "warning",
"content": {
"type": "field.button-radio-group",
"validation": {
"type": "condition.required",
"hint": "Select an option"
},
"label": "Is this headline clickbait?",
"options": [
{
"label": "Clickbait",
"value": "yes"
},
{
"label": "Not clickbait",
"value": "no"
}
],
"data": {
"type": "data.output",
"path": "result"
}
}
}
Другие варианты кнопок
Определите, может ли исполнитель выбрать несколько вариантов ответа или только один:
Если ответов на вопрос может быть несколько — настройте чекбоксы field.checkbox-group.
Показать код
{
"type": "field.checkbox-group",
"label": "This headline is:",
"options": [
{
"label": "Clickbate",
"value": "clickbate"
},
{
"label": "Too long",
"value": "long"
},
{
"label": "Gramatically incorrect",
"value": "bad-grammar"
},
{
"label": "None of this",
"value": "none"
}
],
"data": {
"type": "data.output",
"path": "input_data"
},
"validation": {
"type": "condition.required",
"hint": "Select at least one option"
}
}
Компонент field.button-radio-group отображается в виде цельных кнопок. Такие кнопки лучше подходят, когда в вопросе 2–4 варианта с короткими названиями.
Если вариантов ответа много или названия длинные, то лучше использовать переключатель field.radio-group, как в примере.
Показать код
{
"type": "field.radio-group",
"label": "This headline is:",
"options": [
{
"label": "Clickbate",
"value": "clickbate"
},
{
"label": "Too long",
"value": "long"
},
{
"label": "Grammatically incorrect",
"value": "bad-grammar"
},
{
"label": "None of this",
"value": "none"
},
{
"label": "The text hasn't loaded",
"value": "404"
}
],
"data": {
"type": "data.output",
"path": "input_data"
},
"validation": {
"type": "condition.required",
"hint": "Select an option"
}
}
Добавить условия
С помощью helper.if можно показывать любой элемент интерфейса только при выборе определенного ответа.
Показать код
{
"type": "helper.if",
"condition": {
"type": "condition.equals",
"data": {
"type": "data.output",
"path": "first-q"
},
"to": "no"
},
"then": {
"type": "field.checkbox-group",
"label": "2. Why don't you like it?",
"options": [
{
"label": "It's clickbate",
"value": "clickbate"
},
{
"label": "It's too long",
"value": "long"
},
{
"label": "It's grammarly incorrect",
"value": "bad-grammar"
},
{
"label": "Other",
"value": "other"
}
],
"data": {
"type": "data.output",
"path": "input_data"
},
"validation": {
"type": "condition.required",
"hint": "Select an option"
}
}
}
Сравнение текста и поискового запроса
Подходит ли текст под поисковый запрос
Добавьте кнопку, по которой исполнители будут открывать результаты поиска, и сформируйте ссылку поискового запроса с помощью компонента helper.search-query. Чтобы убедиться, что исполнитель перешел по ссылке и проверил ее содержимое, настройте валидацию, как в примере.
Показать код
{
"type": "condition.link-opened",
"hint": "Follow the link",
"url": {
"type": "helper.search-query",
"query": {
"type": "data.input",
"path": "link"
},
"engine": "bing"
}
}
Попарное сравнение с веб-страницей
С помощью компонента view.iframe вы можете отобразить веб-страницу во встроенном окне. Расположите рядом текст, используя layout.side-by-side.
Показать код
{
"type": "view.iframe",
"maxWidth": 400,
"fullHeight": true,
"url": {
"type": "helper.search-query",
"query": {
"type": "data.input",
"path": "link"
},
"engine": "bing"
}
}
Попарное сравнение с веб-страницей в рамке мобильного устройства
Это более сложный пример, который сравнивает текст с результатами поискового запроса. В нем используются компоненты:
- view.iframe — отображает веб-страницу во встроенном окне;
- view.device-frame — оборачивает окно в рамку смартфона;
- layout.side-by-side — располагает картинку и окно с результатами запроса рядом друг с другом.
Показать код
{
"type": "layout.side-by-side",
"items": [
{
"type": "view.text",
"content": {
"type": "data.input",
"path": "text"
}
},
{
"type": "view.device-frame",
"maxWidth": 400,
"content": {
"type": "view.iframe",
"maxWidth": 400,
"fullHeight": true,
"url": {
"type": "helper.search-query",
"query": {
"type": "data.input",
"path": "link"
},
"engine": "bing"
}
}
}
]
}