🤔 Кажется, это что-то на LLM
-ском? 🧐
В этой задаче вы получаете датасет с отрывками художественных текстов на разных языках. Но тексты вам пришли после сканирования книг, с ошибками в распознавании, так как язык всё время менялся, а настройки распознавания нет.
Из-за этого в текстах иногда могут встречаться странные символы:
¿, ¡, £
.
Например, в немецком слове St£raß¿en
этих символов сразу два.
Задача:
- Собрать цепочку, которая будет сначала очищать текст от странных символов.
- Потом определять язык текста и имя главного героя произведения.
Формат сдачи:
csv
- файл со столбцами
-
text
- очищенный текст. -
language
- язык, на котором написан текст. Указать на английском языке (например, неРусский
, аRussian
. НеDeutsch
, аGerman
) -
main_character
- имя главного героя произведения. На том же языке, как оно указано в тексте. (Hans, Pierrot, Анна
)
Пример:
Colab ноутбук, в котором всё готово для удобного начала решения задачи!
Добрый вечер! У меня чет совсем туго. 🙏 Не получается решить: Создадим цепочку с помощью
LCEL
https://colab.research.google.com/drive/1i5v-lWsmLr47w80WudY1sD_DY4oH2rtr?usp=sharing@Евгения_Александровна_Мосеева, а какой текст ошибки? Сейчас проверил - отрабатывает.
@Иван_Александров, На шаге: Создадим цепочку с помощью LCEL: 1)
# Создание цепочки с использованием llm, prompt_template и output_parser
chain = LLMChain(llm=llm, prompt=prompt_template, output_parser=output_parser) 2)
from tqdm import tqdm
import pandas as pd
# Подготовка DataFrame для результатов
df['language'] = ""
df['main_character'] = ""
# Проходим по всем текстам в DataFrame
for index, row in tqdm(df.iterrows(), total=df.shape[0]):
text = row['cleaned_text']
try:
# Используем метод invoke для обработки текста и получения результатов
result = chain.invoke(input={"text": text})
# Обновляем DataFrame с полученными данными
df.at[index, 'language'] = result.get('language', 'unknown')
df.at[index, 'main_character'] = result.get('main_character', 'unknown')
except Exception as e:
print(f"Ошибка при обработке текста: {e}")
# В случае возникновения ошибки присваиваем значения по умолчанию
df.at[index, 'language'] = 'unknown'
df.at[index, 'main_character'] = 'unknown'
# Просмотр обновлённых данных
print(df[['raw_text', 'language', 'main_character']]) Выдало ответ:
@Евгения_Александровна_Мосеева, Удалось ли побороть проблему? Можете сохранить колаб версию ноутбука, чтобы воспроизводилась ошибка и прислать ссылку, а то так трудно понять в чём проблема.
@Евгения_Александровна_Мосеева, у меня была такая же ошибка. Я добавила такую строку в промпт "Extract the following information from the given text and return a JSON string with keys 'cleaned_text', 'language' and 'main_character'." и у меня заработало