На устном зачёте будет сгенерирован билет, в который войдут три случайные темы из списка ниже:
Требуется прочитать текст на русском языке из файла и вывести все пары соседних слов, которые:
Все пары следует выводить в виде лемм. Например, если исходная пара имела вид «необычайных университетов», то должна быть выведена пара «необычайный университет».
Используя import gensim
, необходимо реализовать вычисление десяти самых близких по смыслу слов,
находящихся в окрестности от результата операций сложения и вычитания в векторной модели.
Каждому студенту преподавателем будет дана пара слов и необходимо найти такую линейную комбинацию исходных слов, чтобы в результате вычислений заданная пара попадала в первую десятку.
Необходимо провести повторный анализ текста, который использовался в работе «Предобработка текста »,
но с использованием import rnnmorph
и без использования import pymorphy3
.
Если полученные результаты различаются, необходимо пояснить, почему так вышло.
Используя модель BERT и её функцию Masked language modelling, требуется реализовать вычисление десяти самых вероятных слов, на месте любого умышленно пропущенного слова в корректно составленном предложении на русском языке.
Каждому студенту преподавателем будет дана пара слов, и требуется построить окружение, т. е. само возможное предложение на русском языке с пропущенным словом, для которого в вариантах подстановки пара слов будет встречаться в первой десятке. Слова должны совпадать с точностью до словоформы (слово «домами» не может подходить под требуемое слово «домом»).
Используя модель RuGPT от Сбера, необходимо реализовать возможность генерации текста по заданному промпту.
Допускается использование как старой модели rugpt3large_based_on_gpt2
, так и новой ruGPT-3.5-13B
.
Каждому студенту преподавателем будет дана пара слов,
и требуется подобрать промпт таким образом, чтобы выданная пара слов встречалась бы в сгенерированном тексте с учётом порядка и с учётом словоформ (как в предыдущей работе).
Допускается использовать обе модели, но пара слов преподавателем подбирается на rugpt3large_based_on_gpt2
.
Ограничений на значения параметров нет (даже на длину генерируемого текста),
но подобранный промпт не должен содержать искомые слова ни в одной из их словоформ.
Функция generate
для практической работы «Генерация текста»:
def generate(
model, tok, text,
do_sample=True, max_length=100, repetition_penalty=5.0,
top_k=5, top_p=0.95, temperature=1,
num_beams=None,
no_repeat_ngram_size=3
):
input_ids = tok.encode(text, return_tensors="pt")
print(model.generate.__globals__['__file__'])
out = model.generate(
input_ids,
max_length=max_length,
repetition_penalty=repetition_penalty,
do_sample=do_sample,
top_k=top_k, top_p=top_p, temperature=temperature,
num_beams=num_beams, no_repeat_ngram_size=no_repeat_ngram_size
)
return list(map(tok.decode, out))