🤔 Кажется, это что-то на LLM-ском? 🧐
                                В этой задаче вы получаете датасет с отрывками художественных текстов на разных языках. Но тексты вам пришли после сканирования книг, с ошибками в распознавании, так как язык всё время менялся, а настройки распознавания нет.
Из-за этого в текстах иногда могут встречаться странные символы:
                                  ¿, ¡, £.
                                
Например, в немецком слове St£raß¿en этих символов сразу два.
Задача:
- Собрать цепочку, которая будет сначала очищать текст от странных символов.
- Потом определять язык текста и имя главного героя произведения.
Формат сдачи:
csv- файл со столбцами
- 
                                    text- очищенный текст.
- 
                                    language- язык, на котором написан текст. Указать на английском языке (например, неРусский, аRussian. НеDeutsch, аGerman)
- 
                                    main_character- имя главного героя произведения. На том же языке, как оно указано в тексте. (Hans, Pierrot, Анна)
Пример:

Colab ноутбук, в котором всё готово для удобного начала решения задачи!

Добрый вечер! У меня чет совсем туго. 🙏 Не получается решить: Создадим цепочку с помощью
LCELhttps://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']]) Выдало ответ:
Ошибка при обработке текста: Got invalid JSON object. Error: Expecting value: line 1 column 1 (char 0) raw_text language main_character 0 The sun was setting, casting long shadows over... unknown unknown 1 Le soleil se couchait, jetant de longues ombre... unknown unknown 2 El sol se estaba poniendo, proyectando largas ... unknown unknown 3 La ciudad estaba llena de vida, sus calles lle... unknown unknown 4 La ville était pleine de vie, ses rues remplie... unknown unknown 5 Die Stadt¿ war voller Leben, ihre St£raß¿en ge... unknown unknown 6 Die Sonne g¿ing unter und warf lange Schat£ten... unknown unknown 7 В тихом уголке старого города, где узкие уло¿ч... unknown unknown 8 In a small town nestled between the mountains ... unknown unknown 9 En un pequeño pueblo situado entre la£s m¿onta... unknown unknown 10 Dans un petit village niché entre les montagne... unknown unknown 11 В городе было множество лю£дей, каждый из ко¿т... unknown unknown 12 £La città era piena di vita, le strade piene d... unknown unknown@Евгения_Александровна_Мосеева, Удалось ли побороть проблему? Можете сохранить колаб версию ноутбука, чтобы воспроизводилась ошибка и прислать ссылку, а то так трудно понять в чём проблема.
@Евгения_Александровна_Мосеева, у меня была такая же ошибка. Я добавила такую строку в промпт "Extract the following information from the given text and return a JSON string with keys 'cleaned_text', 'language' and 'main_character'." и у меня заработало