Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей

Мощные языковые модели + Scikit-learn = Scikit-LLM. Эта библиотека поможет вам быстро реализовать задачи анализа текста.

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 1.

Scikit-LLM — это пакет Python, который помогает интегрировать модели большого языка (LLM) в среду scikit-learn. Это помогает выполнять задачи анализа текста. Если вы знакомы с scikit-learn, работать с Scikit-LLM будет проще.

Важно помнить, что Scikit-LLM не заменяет scikit-learn. scikit-learn — это библиотека машинного обучения общего назначения, но Scikit-LLM специально разработан для задач анализа текста.

Инструкция по использованию Scikit-LLM

Чтобы начать использовать Scikit-LLM, вам необходимо установить библиотеку и настроить ключ API. Чтобы установить эту библиотеку, откройте IDE и создайте новую виртуальную среду. Это помогает предотвратить потенциальные конфликты версий библиотеки. Затем выполните следующую команду в терминале.

pip install scikit-llm

Эта команда установит Scikit-LLM и необходимые зависимости.

Чтобы настроить ключ API, вам необходимо получить его у поставщика LLM. Чтобы получить ключ API OpenAI, выполните следующие действия:

Перейдите на страницу API OpenAI. Затем нажмите на профиль, расположенный в правом верхнем углу окна. Выберите «Просмотреть ключи API». Вы перейдете на страницу ключей API.

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 2.

На странице Ключи API нажмите кнопку Создать новый секретный ключ.

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 3.

Назовите ключ API и нажмите кнопку «Создать секретный ключ», чтобы создать ключ. После создания вам необходимо скопировать ключ и сохранить его в безопасном месте, поскольку OpenAI больше не покажет ключ. Если вы потеряете его, вам необходимо создать новый ключ.

Теперь, когда у вас есть ключ API, откройте IDE и импортируйте класс SKLLMConfig из библиотеки Scikit-LLM. Этот класс позволяет вам устанавливать параметры конфигурации, связанные с использованием основных языковых моделей.

из skllm.config импортировать SKLLMConfig

Для этого класса необходимо указать ключ API OpenAI и сведения об организации.

# Ключ OpenAI API SKLLMConfig.set_openai_key(“Ваш ключ API”) # Этот ключ OpenAI SKLLMConfig.set_openai_org(“Идентификатор вашей организации”)

Идентификатор и название организации не совпадают. Идентификатор организации — это уникальный идентификатор вашей организации. Чтобы получить идентификатор организации, перейдите на страницу настроек организации OpenAI и скопируйте его. Теперь вы установили связь между Scikit-LLM и большой языковой моделью.

Попытка использовать бесплатную пробную учетную запись при выполнении анализа данных приведет к ошибке, подобной изображенной ниже.

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 4.

Импортируйте необходимые библиотеки и загрузите набор данных.

Введите панд, которые вы будете использовать для загрузки набора данных. Кроме того, из Scikit-LLM и scikit-learn импортируйте необходимые классы:

импортировать pandas как pd из skllm, импортировать ZeroShotGPTClassifier, MultiLabelZeroShotGPTClassifier из skllm.preprocessing, импортировать GPTSummarizer из sklearn.model_selection, импортировать train_test_split из sklearn.metrics, импортировать классификационный_отчет из sklearn.feature_extraction.text, импортировать TfidfVectorizer из sklearn.preprocessing, импортировать MultiLabelBinarizer

Затем загрузите набор данных, который вы хотите выполнить анализ. Этот код использует набор данных фильмов на IMDB. Однако вы можете настроить его для использования собственного набора данных.

# Данные набора данных = pd.read_csv(“imdb_movies_dataset.csv”) # Действительно, 100 дней назад data = data.head(100)

Не обязательно использовать только первые 100 строк набора данных. Вы можете использовать весь набор данных.

Затем извлеките объекты и маркируйте столбцы. Затем разделите набор данных на две части: обучение и тестирование.

# Truy xuất các cột liên quan X = data(‘Description’) # Предполагается, что ‘Genre’ содержит метки для классификации y = data(‘Genre’) # Tách dataset thành train và test X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0,2, случайное_состояние=42)

Столбец «Жанр» содержит метки, которые вы хотите спрогнозировать.

Классифицируйте текст с нулевым фрагментом с помощью Scikit-LLM

Классификация текста с нулевым выстрелом — это функция, предоставляемая основными языковыми моделями. Он классифицирует текст по предопределенным категориям без явного обучения помеченным данным. Эта возможность очень полезна при решении задач, в которых необходимо классифицировать текст по категориям, которые не были предусмотрены во время обучения модели.

Чтобы выполнить нулевую классификацию текста с помощью Scikit-LLM, используйте класс ZeroShotGPTClassifier.

# Tiến hành phân loại văn bản Zero_shot_clf = ZeroShotGPTClassifier(openai_model=”gpt-3.5-turbo”) Zero_shot_clf.fit(X_train, y_train) Zero_shot_predictions = Zero_shot_clf.predict(X_test) # В báo cáo phân loại text Zero- Выстрел print(“Отчет о классификации текста с нулевым выстрелом:”) print(classification_report(y_test, Zero_shot_predictions))

Следующие результаты:

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 5.

Этот отчет о классификации предоставляет метрики для каждой метки, которую пытается предсказать модель.

Классификация текста с нулевым выстрелом по нескольким меткам с использованием Scikit-LLM

В некоторых случаях текст может относиться к нескольким категориям одновременно. Традиционные модели классификации с трудом справляются с этими случаями. С другой стороны, Scikit-LLM позволяет их классифицировать. Классификация текста с нулевым фрагментом по нескольким меткам чрезвычайно важна при назначении нескольких описательных меток образцу текста.

Используйте MultiLabelZeroShotGPTClassifier, чтобы предсказать подходящие метки для каждого образца текста.

# Triển khai phân loại văn bản Zero-Shot đa nhãn # Đảm bảo cung cấp danh sách các nhãn кандидат кандидата_labels = («Боевик», «Комедия», «Драма», «Ужасы», «Научная фантастика») multi_label_zero_shot_clf = MultiLabel Классификатор ZeroShotGPT (max_labels=2) multi_label_zero_shot_clf.fit(X_train,dependent_labels) multi_label_zero_shot_predictions = multi_label_zero_shot_clf.predict(X_test) belBinarizer mlb = MultiLabelBinarizer() y_test_binary = mlb.fit_transform(y_test) multi_label_zero_shot_predictions_binary = mlb. Transform(multi_label_zero_shot_predictions) # В случае отсутствия нулевого выстрела в режиме Zero-Shot print(“Отчет о текстовой классификации с несколькими метками с нулевым выстрелом:”) print(classification_report(y_test_binary, multi_label_zero_shot_predictions_binary))

В приведенном выше блоке кода вы определяете возможные метки, которым принадлежит текст.

Следующие результаты:

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 6.

Этот отчет поможет вам понять, насколько хорошо модель работает для каждой метки в классификации с несколькими метками.

Векторизация текста с помощью Scikit-LLM

При векторизации текста текстовые данные преобразуются в числовой формат, понятный моделям машинного обучения. Scikit-LLM предоставляет GPTVectorizer для выполнения этой задачи. Он позволяет конвертировать текст в векторы фиксированного размера с использованием моделей GPT.

Вы можете добиться этого, используя Частоту термина, обратную частоте документа.

# Введение вектора в TF-IDF tfidf_vectorizer = TfidfVectorizer(max_features=1000) X_train_tfidf = tfidf_vectorizer.fit_transform(X_train) X_test_tfidf = tfidf_vectorizer.transform(X_test) # В коде ặc điểm vectơ TF-IDF cho một vài mẫu đầu tiên print(“Векторизованные объекты TF-IDF (первые 5 образцов):”) print(X_train_tfidf(:5)) # Измените X_test_tfidf, если вы хотите распечатать тестовый набор

Результат:

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 7.

Этот результат представляет векторизованные функции TF-IDF для первых 5 выборок в наборе данных.

Обобщение текста с использованием Scikit-LLM

Обобщение текста помогает сократить фрагмент текста, сохраняя при этом наиболее важную информацию. Scikit-LLM предоставляет GPTSummarizer, который использует модели GPT для создания точных текстовых сводок.

# Время работы над суммой = GPTSummarizer(openai_model=”gpt-3.5-turbo”, max_words=15) summaries = summaries.fit_transform(X_test) print(summaries)

Результат:

Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Рисунок 8.

Выше описано, как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей. Надеюсь, статья будет вам полезна!

В приведенной выше статье вы познакомились с «Как использовать Scikit-LLM для анализа текста с помощью больших языковых моделей». СоветыНадейтесь, что эта статья вам поможет! Если эта статья кажется вам интересной и полезной, не забудьте поделиться ею. Спасибо!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *