делюсь инструкцией и ссылкой для тестов — Разработка на vc.ru
Привет! Меня зовут Вова, я разработчик. Не так давно локализовал игру №59 — ту, где сайт на английском загадывает слово, а пользователю нужно его угадать. ИИ при этом подсказывает, насколько близко он оказался к цели. В тексте делюсь своей версией «Русо контексто». Скрины, код и ссылка, чтобы сыграть в слова с ИИ на русском, — тоже внутри.
5393 просмотров
Даже на русском языке игра не самая простая
Используйте навигацию, если нет времени читать текст целиком:
- Как работает игра?
- Текстовые эмбеддинги
- Обработка словаря
- Умный бэкэнд
- Игра на объектном хранилище
- Финальный результат: ссылка на игру
Почему я решил локализовать игру?
Все началось с коллеги, который закинул в локальный чат сообщение, что он сыграл в #59 и угадал слово с 33 попыток и одной подсказки.
Интересная игра, тренирующая ассоциативное мышление и умение строить связи. Новое слово появляется каждый день, что в некотором смысле выглядит ограничителем. Также игра доступна только на португальском и английском языках. С одной стороны, это дополнительная практика, а с другой — сомнения «а знаю ли я это слово?» смазывают впечатления от игры.
Так я задумался о локализации игры на русский язык. Свою игру «Русо контексто» я разместил на объектном хранилище, которое более устойчиво примет читателей vc.ru.
Дисклеймер: оригинальная игра расположена по адресу contexto.me. В процессе подготовки статьи я узнал о существовании русскоязычной версии guess-word.com. Но эта версия имеет более ограниченную функциональность.
Как работает игра?
У сайта минималистичный интерфейс:
- Сведения об игре: номер, количество попыток и количество подсказок.
- Поле ввода слова.
- Список отгаданных слов в виде полосы загрузки. Чем ближе, тем более она заполнена. Номер справа обозначает расстояние в словах, но его можно отключить.
В выпадающем меню есть настройки и дополнительные игровые опции:
- Выбрать игру.
- Взять подсказку.
- Сдаться.
Если отгадать слово, то игра предложит поделиться результатом и взглянуть на ближайшие 500 слов.
Игра очень быстро возвращает ответ и умеет определять начальную форму слова. Иными словами, cat и cats считаются одним словом и выводиятся как cat. Все введенные слова трактуются как существительные, и в списке 500 ближайших слов глагола не встретить.
Это наводит на мысль, что список ближайших слов формируется отдельно, а игра просто обращается к списку. Остается вопрос: как составить список ближайших слов?
Текстовые эмбеддинги
Изначально компьютеры не владеют ни одним человеческим языком. Но человек делает все возможное, чтобы это исправить. Человек может сказать одну команду, используя разные слова и в разном порядке. Машине нужно уметь не просто различать слова, но и понимать смысл, который прячется за этими словами.
Здесь на помощь приходят текстовые эмбеддинги. Если упрощать, то эмбеддинг — это превращение слова в набор чисел, который называют кортежем или вектором.
Эти числа задают положение слова в виде точки в пространстве, но не в трехмерном, а в многомерном. Чем ближе две точки, тем ближе слова по смыслу, а компьютеры умеют вычислять.
Дисклеймер: в этом тексте оставим процесс сопоставления слов векторам в виде черного ящика, которым мы хотим пользоваться, но нам неинтересно, как он работает.
После операции сопоставления появляется модель — файл, который описывает соответствие «слово — вектор» или как-то описывает правила сопоставления или вычисления. Для работы модели нужно программное обеспечение, которое понимает формат модели.
Проще и быстрее всего «потрогать» эмбеддинги на языке Python. Библиотека gensim реализует один из самых популярных подходов — word2vec.
Для работы необходима модель, обученная на достаточном количестве текстов. В документации gensim есть ссылки на англоязычные модели, но нас это не устраивает.
К счастью, проект RusVectores предоставляет модели на русском языке. На сайте представлены контекстуализированные и статические модели. Так как игра принимает на вход одно слово, то нам подходит статическая модель.
Я использовал модель, обученную на Национальном Корпусе Русского Языка (НКРЯ), ее название — ruscorpora_upos_cbow_300_20_2019. Скачиваем архив и распаковываем. Модель представлена в двух видах: бинарном (model.bin) и текстовом (model.txt).
Попробуем воспользоваться этой моделью. Сперва загружаем.
from gensim.models import KeyedVectors model = KeyedVectors.load_word2vec_format(«model.txt», binary=False)
Теперь можем найти слова, ближайшие к слову «провайдер»:
>>> model.
most_similar(positive=[«провайдер»]) … KeyError: «Key ‘провайдер’ not present in vocabulary»К сожалению, такого слова не нашлось. Дело в том, что данная модель принимает слова вместе с меткой, которая определяет часть слова. Это сделано для различия слов с одинаковым написанием. Например, «печь» можно представить как «печь_NOUN» и «печь_VERB», то есть как существительное и глагол соответственно.
>>> model.most_similar(positive=[«провайдер_NOUN»]) [ (‘ip_PROPN’, 0.677890419960022), (‘internet_PROPN’, 0.6627045273780823), (‘интернет_PROPN’, 0.6595873832702637), (‘интернет_NOUN’, 0.6567919850349426), (‘веб_NOUN’, 0.6510902047157288), (‘сервер_NOUN’, 0.6460723280906677), (‘модем_NOUN’, 0.6433334946632385), (‘трафик_NOUN’, 0.6332165002822876), (‘безлимитный_ADJ’, 0.6230701208114624), (‘ритейлер_NOUN’, 0.6218529939651489) ]
Также возьмем более простой пример с несколькими словами. Зададим два слова: король и женщина. Человек догадается, что женщина-король — это скорее всего королева.
>>> model.most_similar(positive=[«король_NOUN», «женщина_NOUN»], topn=1) [ (‘королева_NOUN’, 0.6674807071685791), (‘королева_ADV’, 0.6368524432182312), (‘принцесса_NOUN’, 0.6262999176979065), (‘герцог_NOUN’, 0.613500714302063), (‘герцогиня_NOUN’, 0.5999450087547302) ]
Метод most_similar выводит список наиболее похожих слов и некоторую метрику расстояния до этого слова. Чем ближе метрика к единице, тем ближе слово. Список слов отсортирован по убыванию этой метрики. Так как сортировка производится при выводе, то значение метрики далее мы использовать не будем.
Аргумент topn позволяет задать количество слов, которые мы хотим получить. Таким образом можно запросить какое-нибудь большое количество слов и получить список, необходимый для создания игры. Давайте зададим более современное слово «киберпространство» и посмотрим на ближайшее слово и на слово, например, на десятитысячной позиции.
>>> result = model.most_similar(positive=[«киберпространство_NOUN»], topn=10000) >>> result[0] (‘виртуальный_ADJ’, 0. 39892229437828064) >>> result[9998] (‘европбыть_VERB’, 0.12139307707548141) >>> result[9999] (‘татуировкий_NOUN’, 0.12139236181974411)
Наличие специфичных слов, которые могут шуткой, опечаткой, ошибкой в парсинге или локальным жаргонизмом, неприятно влияет на игру. Нужно очистить словарь от странных слов и оставить только существительные.
Обработка словаря
Один из способов хранения модели word2vec — текстовый. Формат прост: в первой строке задаются два числа — количество строк в документе и количество чисел в векторе. Далее на каждой строке задается слово и далее числа, обозначающие вектор.
Здесь удобно воспользоваться особенностью этой модели, а именно тегами.
Существительные имеют тег _NOUN, что позволяет убрать из модели ненужные слова. Удалить не существительные легко, но как поступить с опечатками и странными словами? Здесь на помощь приходит другой эмбеддинг, который обучался на литературе.
Это эмбеддинг Navec (навек) из проекта Natasha. Ссылку на русскоязычную модель можно увидеть в репозитории проекта. Скачиваем и загружаем модель:
from navec import Navec path = ‘navec_hudlit_v1_12B_500K_300d_100q.tar’ navec = Navec.load(path)
Теперь можно проверять слова простым синтаксисом:
>>> «виртуальный» in navec True >>> «европбыть» in navec False >>> «татуировкий» in navec False
Таким образом можно отсеять немалое количество слов, которым в игре не место.
Примеры удаленных слов, многие даже великому гуглу неизвестны:
- цидулка
- зачатокать
- магазей
- антитезть
- завоевателий
- налицотец
- прируба
- бислой
- цвть
Но вместе с тем теряются и настоящие слова:
- агрокомплекс
- кейтеринг
- фемтосекунда
- углепластик
- электромашиностроение
Алгоритм очистки модели следующий:
- Если у слова тег не NOUN, то отбрасываем это слово.
- Удаляем из слова последовательность _NOUN.
- Проверяем «чистое слово» на наличие в эмбеддинге Navec. Если его там нет, слово отбрасываем.
- Слово, которое прошло все проверки, записываем в файл.
После обработки всех слов в первую строку новой модели записываем два числа: количество оставшихся строк и размерность вектора. Размерность вектора при данной обработке остается неизменной. Если все сделано правильно, то очищенную модель получится загрузить:
model = KeyedVectors.load_word2vec_format(«noun_model.txt», binary=False)
Стало ли после этого лучше?
>>> result = model.most_similar(positive=[«киберпространство»], topn=10000) >>> result[0] (‘виртуальность’, 0.4715898633003235) >>> result[9998] (‘компаунд’, 0.15783849358558655) >>> result[9999] (‘хитрость’, 0.15783214569091797)
Определенно. Для статистики: исходная модель содержит 248 978 токенов, из них 59 104 токенов имеют метку существительног. И только 36 269 прошли «сито» второго эмбеддинга.
Время заняться бэкэндом и фронтендом игры.
Умный бэкэнд
Так как Python является моим рабочим языком программирования, бэкэнд я решил реализовать на нем. Поговорим об обработке входных данных. Обрезать пробелы и перевести текст в нижний регистр — само собой разумеющееся. Но как получить начальную форму слова?
Здесь можно воспользоваться инструментом MyStem. Для Python есть обертка pymystem3. Крайне простой инструмент для получения начальной формы слова:
import pymystem3 mystem = pymystem3.Mystem()
Метод lemmatize принимает на вход строку-предложение и возвращает список слов в начальной форме.
>>> mystem.lemmatize(«кот коты котов котах кота») [‘кот’, ‘ ‘, ‘кот’, ‘ ‘, ‘кот’, ‘ ‘, ‘кот’, ‘ ‘, ‘кот’, ‘\n’]
На первый взгляд даже производительность на достойном уровне: на моей виртуальной машине лемматизация одного слова занимает до 10 мс. По меркам современного веба это достаточно быстро.
Пока я работал над бэкэндом, по работе пришлось познакомиться с объектным хранилищем, среди функций которого есть возможность размещения статических сайтов. И тут мне пришла интересная мысль.
Игра на объектном хранилище
При разработке бэкэнда я продумывал способы защититься от нечестной игры:
- Сдаться нельзя.
- Список топ-500 ближайших слов получить можно, только предоставив загаданное слово.
- Подсказку можно получить по слову и позиции.
Но вскоре мне показалось это слишком суровым.
На данный момент единственное назначение бэкэнда — приведение слов к начальной форме. Правда, как показало тестирование на коллегах, и это не обязательно: все и так старались писать начальные формы слов. Да и модель эмбеддингов не лемматизирована, то есть игра понимает слова не только в начальной форме.
Получается, игру можно полностью перенести в браузер?
Так как я бэкэнд-разработчик, то отказ от бэкэнда в угоду фронтэнду — это стресс. Однако от бэкэнда полностью отказаться не получится: генератор близких слов где-то нужно запускать. Генератор принимает на вход загаданное слово и формирует текстовый файл, где на каждой строке по одному слову в порядке смыслового убывания от загаданного. Содержимое этого файла также дублируется в JSON-словарь, где каждому слову соответствует его дистанция от загаданного слова.
JSON-файл на каждую игру занимает до 2 МБ. При открытии игры файл скачивается в браузер и JavaScript реализует логику игры. Этот способ не самый производительный, но после загрузки файла позволяет играть без подключения к интернету.
Я разместил игру в облачном хранилище Selectel, которое более устойчиво к наплыву посетителей.
Заключение
Итоговый результат доступен по адресу words.f1remoon.com, а исходный код — в репозитории.
Сыграйте в игру и поделитесь впечатлениями. А еще подпишитесь на блог Selectel, чтобы не пропустить обзоры, новости, кейсы и полезные гайды из мира IT.
Читайте также:
Как делать гиперссылки в Телеграме
Сегодня разбираемся, как делать гиперссылки в Телеграме. Узнаем, как посмотреть ссылку на свой профиль, давать ссылки на сайты, Телеграм-каналы и чаты, а также отдельные посты в группах и каналах. Рассмотрим возможность сокращения длинных ссылок, добавления ссылки к слову или фразе в публикации и создания специальной кнопки со ссылкой.
Как добавить ссылку в Телеграме
Чтобы сослаться на группу, канал или профиль пользователя внутри мессенджера Telegram достаточно ввести символ «@», а после него написать имя пользователя, чата или канала. При вставке в пост текста вида @username, он автоматически превратится в выделенную синим цветом активную ссылку.
Узнать это имя для своего профиля можно следующим образом:
- На компьютере нажмите на кнопку с тремя полосками в левом верхнем углу окна и выберите в меню пункт «Настройки». Под номером телефона вы увидите свое имя пользователя. При щелчке на него, оно будет скопировано в буфер обмена. Если публичное имя еще не было задано, указать его можно через пункт «Изменить профиль» –> «Имя пользователя». Минимальная длина имени – 5 символов, вы можете использовать английские буквы, цифры и знак подчеркивания.
- На смартфоне нажмите на три полоски, затем кликните по своей аватарке. Если удержать палец на строке «Имя пользователя», ваш никнейм будет скопирован.
Ссылка на профиль, которой можно поделиться, должна иметь вид https://t.me/username, где «username» – это ваше имя пользователя без знака @.
Чтобы узнать ссылку на профиль другого человека, на Телеграм-канал либо группу, нажмите на аватар пользователя или название чата/канала в верхней части экрана, а затем скопируйте имя. Сделать это можно в десктопной версии, кликнув на имени правой кнопкой мыши и выбрав «Копировать ссылку», а в мобильном приложении Telegram – нажав на имя и указав соответствующую команду в нижней части экрана.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Как сделать ссылку на пост в Телеграме
Чтобы скопировать ссылку на пост или сообщение в публичных чатах или каналах, нужно проделать такие шаги:
- Открыть канал или группу.
- Нажать на пост или сообщение (либо кликнуть на нем правой кнопкой мыши, если вы работаете на компьютере) и в появившемся меню выбрать пункт «Копировать ссылку» (в десктопной версии «Копировать ссылку на сообщение»).
Ссылка скопируется в буфер обмена, после чего ей можно будет поделиться.
Следует учесть, что в соответствии с политикой приватности мессенджера Телеграм поделиться ссылкой на пост, опубликованный в закрытом канале, не получится, так же как и ссылками на сообщения из личной переписки.
Как вставить ссылку в текст в Телеграме
URL-адрес, вставленный в текст поста в Телеграм-канале отдельной строкой, выглядит не слишком привлекательно. Есть возможность добавлять ссылки на сайты, а также группы или каналы в Телеграме к выделенному слову или фразе в тексте сообщения.
Для этого в десктопной версии выделите нужный фрагмент текста в поле для ввода сообщения, кликните по нему правой кнопкой мыши и выберите команду «Форматирование», а затем – «Добавить ссылку». В открывшемся окне в поле URL вставьте нужный адрес и нажмите кнопку «Добавить».
Если вы пользуетесь смартфоном, при выделении текста на экране появится срока меню. Нажмите на три точки справа и прокрутите список до пункта «Добавить ссылку».
При переходе по такой встроенной в текст сообщения ссылке Телеграм покажет окно с адресом, таким образом пользователь будет знать, куда именно ему предлагают перейти. Ссылка откроется после подтверждения действия нажатием на кнопку «Перейти» или «Открыть».
Как сократить ссылку в Телеграме
Если ссылка на ресурс слишком объемная или ее требуется замаскировать, можно воспользоваться одним из сервисов по сокращению ссылок. Примерами таких инструментов могут служить сервис от Яндекса Сlck.ru или минималистичный сервис U.to, которые генерируют короткие ссылки в том числе для использования внутри Телеграма.
Когда пользователь переходит по сокращенной ссылке, запрос отправляется сервису сокращения URL-адресов, а он перенаправляет его на реальный адрес.
Как сделать кнопку со ссылкой в Телеграме
Также у автора канала есть возможность добавлять кнопки-ссылки на любые ресурсы под публикуемыми постами. Для создания таких кнопок используются два бота: @ControllerBot и @BotFather.
Введите название бота @ControllerBot в строку поиска в компьютерной или мобильной версии мессенджера Telegram, войдите в диалог с ним и нажмите кнопку «Запустить».
Затем выберите команду /addchanel для добавления нового канала и следуйте появившейся инструкции:
После перехода в бот @BotFather нажмите кнопку «Запустить» и выберите из предложенных команд /newbot. Далее нужно ввести имя для вашего бота, например, PostiumPost_Bot.
На следующем шаге после задания уникального имени пользователя для нового бота появится сообщение с токеном созданного бота, который нужно скопировать в бот @ControllerBot. Копирование в буфер обмена происходит при щелчке по токену.
@ControllerBot выдаст инструкцию о том, что созданный бот необходимо добавить в администраторы вашего канала. Для этого нужно кликнуть на кнопку с тремя точками в правом верхнем углу в вашем канале, выбрать в меню пункт «Управление каналом», затем «Администраторы» и «Добавить администратора».
Находим созданный нами бот по имени через поиск. На вопрос «Пригласить его и назначить администратором?» отвечаем утвердительно. Далее даем все разрешения новому администратору и нажимаем кнопку «Сохранить».
Напишите новое сообщение в своем канале или перешлите в @ControllerBot любое ранее опубликованное. Заключительный этап настройки – определение тайм-зоны: отправьте название своего города и подтвердите выбор, нажав кнопку «Верно».
Настройка ботов завершена, теперь можно добавлять кнопки со ссылками к постам. Для этого переходим в диалог с ранее созданным нами ботом и нажимаем кнопку «Запустить», а затем «Создать пост» и выбираем канал, в котором он будет опубликован.
Введите текст поста и кликните на «Добавить URL-кнопки».
Бот покажет инструкцию, в каком формате следует отправлять ему список URL-кнопок: «Название кнопки – ссылка на сайт». Можно добавить до трех кнопок в ряд, разделяя их вертикальной чертой.
После отправки боту названия кнопки и нужного URL-адреса следует нажать кнопку «Далее», а затем «Опубликовать». Перейдите в ваш канал и убедитесь, что под постом отображается кнопка со ссылкой.
Читайте также
Словарь WordReference в App Store
Описание
Приложение самого популярного и мощного веб-сайта по переводу словарей. Он предоставляет вам быстрый доступ к нашим обширным словарям и обсуждениям на форуме.
Словари WordReference.com:
с английского на испанский
с английского на французский
с английского на итальянский
с английского на немецкий
с английского на португальский
с английского на польский
с английского на румынский
с английского на чешский
Английский до греческого
Английский до турецкой
Английский до японского
Английский на китайский
Английский до корейского
Английский до арабского языка
Английский до шведского
по английскому языку до голландского
по испанскому до французского
по испанскому до португальскому
Определения каталонского языка
Спряжения:
Испанское спряжение
Французское спряжение
Итальянское спряжение
Синонимы: английский и испанский
Форумы содержат более 3 миллионов вопросов и ответов об английском языке и переводе. На ваши вопросы уже ответили.
ПРИМЕЧАНИЕ. Требуется доступ в Интернет.
WordReference часто неправильно пишется как «Word Reference» при поиске.
Версия 5.0.61
исправления ошибок
Рейтинги и обзоры
80 Оценки
Фразы
Приложение должно быть разработано таким образом, чтобы заранее обрабатывать фразы. Как это существует, если вы вводите фразу, фокусируясь исключительно на одном слове, и по мере того, как вы копаетесь, вы можете найти свою фразу в словаре или на форумах. Вы должны быть в состоянии соединиться раньше с вашим значением.
Отличный инструмент обучения
Использование этого приложения для поиска незнакомых слов при изучении другого языка очень полезно. Поскольку он предоставляет определения и синонимы на целевом языке (а не на английском), он помогает мне на самом деле выучить слово, а не просто перевести его. Функция произношения является бонусом.
Было здорово, а теперь сломалось — почините!
Для человека, говорящего на нескольких языках, это приложение оказалось огромным подспорьем. Мне не нужно было иметь отдельное приложение-словарь для каждого интересующего меня языка. Доступ к темам форума для данного слова был невероятно полезен. Однако в какой-то момент за последние несколько недель (по состоянию на начало 2023 года) приложение больше не возвращает результаты поиска. Похоже, разработчик не публиковал обновление приложения уже пять месяцев, поэтому я предполагаю, что оно больше не совместимо с моей текущей мобильной ОС.
Разработчик, WordReference.com, LLC, указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.
Данные, используемые для отслеживания вас
Следующие данные могут использоваться для отслеживания вас в приложениях и на веб-сайтах, принадлежащих другим компаниям:
Данные, не связанные с вами
Следующие данные могут собираться, но они не связаны с вашей личностью:
Методы обеспечения конфиденциальности могут различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше
Информация
- Продавец
- WordReference.com, ООО
- Размер
- 10,4 МБ
- Категория
- Ссылка
- Возрастной рейтинг
- 12+ Медицинская информация/лечение нечасто/умеренно Нечастая/умеренная ненормативная лексика или грубый юмор
- Авторское право
- © WordReference. com LLC
- Цена
- Бесплатно
- Сайт разработчика
- Тех. поддержка
- политика конфиденциальности
Вам также может понравиться
Как использовать WordReference для повышения эффективности изучения языка | Киран Болл | Счастливый лингвист
Когда я учился в университете, изучая иностранные языки, я ежедневно пользовался сайтом WordReference.
БОЛЬШЕ ЗАПИСЕЙ В БЛОГЕ | ГЛАВНАЯ | ЯЗЫКОВЫЕ КУРСЫ
www.wordreference.com онлайн словарьЧто такое WordReference?
WordReference — это, на первый взгляд, онлайн-словарь. Тем не менее, по мере того, как вы копаетесь дальше, вы обнаружите, что это гораздо больше.
При первом посещении www. wordreference.com вы найдете строку поиска и список языковых пар. Вы можете ввести слово на любом языке, а затем выбрать, на какой язык вы хотите его перевести, и готово.
Итак, вы можете ввести «дом», выбрать «английский — испанский», и вы получите «casa». Или вы можете ввести «casa», выбрать «испанский — английский», и вы получите «дом».
Итак, это WordReference на базовом уровне. Но вы можете сделать это в Google Translate. WordReference отличается тем, что он больше похож на словарь, чем на переводчик.
Существительное или глагол?
Слово «дом» — это, очевидно, большая коробка, в которой живут люди. Например, «Этот дом прекрасен». В этом смысле «дом» — это существительное (я всегда помню существительные как слова, перед которыми можно поставить «the»: дом). Однако «дом» также может быть глаголом: «Где вы собираетесь разместить животных?» (Я всегда помню глагол как слово, которое можно поставить «to» перед: to house). Ну, WordReference покрывает это.
Когда вы вводите слово в WordReference, он дает вам все возможные варианты использования этого слова и способы его произнесения на испанском языке (или на любом языке, который вы изучаете). Каждый раз, когда вы ищете слово, оно сообщит вам его во всех формах, в которых оно может быть. Он использует код, найденный в большинстве словарей, чтобы помочь вам увидеть, является ли это существительным, глаголом, прилагательным и т. д. Например, вы увидите «n» для существительного, «v» для глагола и «adj» для прилагательного.
Если вы не грамматик и не уверены на 100%, что означают эти слова, не бойтесь; WordReference предоставляет небольшую фразу, чтобы показать синоним слова, которое вы ищете, а также несколько примеров предложений с используемым словом.
Давайте посмотрим на «дом» в «испанский — английский» в качестве примера:
Итак, вы видите маленькую синюю «н» после слова «дом». Это значит, что это существительное. В скобках, правда, потом еще написано: (жилой дом), на всякий случай, если вы не уверены, что такое дом. Затем справа у вас есть испанский перевод «casa», и вы заметите «nf», что означает «существительное — женский род». Это означает, что это существительное женского рода в испанском языке.
Под основной записью вы увидите светло-серую примерную фразу, чтобы вы могли видеть используемое слово: В их новом доме три ванные комнаты — Su nueva casa tiene tres baños.
После следующей записи стоят буквы «втр», что означает «глагол — переходный». Если вы не знаете, что это значит, вы можете навести курсор на буквы, и появится всплывающее окно с объяснением.
Здесь объясняется, что переходный глагол — это глагол, который может принимать прямое дополнение.
Затем он дает еще один синоним глагола «дом»: предоставить место для хранения, и дает испанский перевод. У этого на самом деле есть два варианта на испанском языке: «guardar» или «almacenar». Ниже приведен еще один пример предложения: В этом шкафу хранятся все наши канцелярские принадлежности — El armario almacena todo nuestro material de papelería.
Еще больше примеров
Однако WordReference хорош тем, что на этом он не останавливается. Если вы прокрутите вниз, вы получите сотни примеров фраз и предложений, содержащих слово «дом», так что вы сможете найти именно то, что ищете.
Вот лишь несколько примеров фраз, которые вы получаете для слова «дом» на испанском языке.
Щелкните любое слово
Еще одна бонусная функция WordReference заключается в том, что вы можете щелкнуть любое слово, которое видите на всем экране, где бы оно ни находилось.
Если вы видите один из переводов и не уверены, что означает одно из слов, вы можете просто щелкнуть по нему. Если вы нажмете на слово, вы автоматически перейдете к его испанско-английскому переводу. Например, скажем, в приведенном ниже примерном предложении вы не знали, что означает слово «edificios». Просто нажмите на него:
Вы перейдете к переводу слова «edificios». Это говорит вам, что это существительное мужского рода, которое означает «здание». И, опять же, вы получаете еще одно примерное предложение, содержащее слово «edificio».
Возможно, вы также заметили маленький символ динамика и слово «ESCUCHAR». Слово «escuchar» означает «слушать», и если нажать на динамик, можно услышать произносимое слово.
Спряжения
Наконец, еще одна чрезвычайно полезная функция WordReference — кнопка «спряжение». Если вы введете любой глагол, в любом времени и в любом лице, вы получите маленькую кнопку, которая называется «спряжение». Если вы нажмете здесь, вы увидите спряжение глагола во всех временах и для всех лиц. Давайте посмотрим на «хаблар». Итак, вы вводите «хаблар», а затем нажимаете кнопку «спряжение»:
Появится экран, на котором показаны все формы глагола:
Если вы проделаете это с неправильным глаголом, появится еще одна вещь. Например, если мы напечатаем глагол «contar», означающий «считать», мы увидим, что некоторые буквы отображаются синим цветом. Если вы видите синие буквы, это означает, что эта часть глагола является неправильным битом, который не соответствует обычным моделям спряжения глаголов.