Wykonywanie zaawansowanej analizy danych zdarzeń na Facebooku za pomocą wektorowej bazy danych

W dzisiejszej erze cyfrowej profesjonaliści ze wszystkich branż muszą być na bieżąco z nadchodzącymi wydarzeniami, konferencjami i warsztatami. Jednak skuteczne znajdowanie wydarzeń zgodnych z zainteresowaniami wśród ogromnego oceanu informacji online stanowi poważne wyzwanie.

Ten blog przedstawia innowacyjne rozwiązanie tego wyzwania: kompleksową aplikację zaprojektowaną do pobierania danych o wydarzeniach z Facebooka i analizowania tych danych za pomocą MyScale. Chociaż MyScale jest powszechnie kojarzony ze stosem technologicznym RAG lub używany jako wektorowa baza danych, jego możliwości wykraczają poza te sfery. Wykorzystamy go do analizy danych, wykorzystując jego funkcję wyszukiwania wektorowego do analizy zdarzeń, które są semantycznie podobne, zapewniając w ten sposób lepsze wyniki i wgląd.

Mogą Państwo zauważyć, że Grok AI wykorzystał wektorową bazę danych Qdrant jako wyszukiwarkę do pobierania informacji w czasie rzeczywistym z danych X (wcześniej znanego jako Twitter). Mogą Państwo również ocenić moc wektorowych baz danych w ten sposób za pomocą MyScale, integrując MyScale z innymi platformami, takimi jak Apify, w celu usprawnienia codziennych zadań poprzez tworzenie prostych spersonalizowanych aplikacji.

W tym blogu opracujmy aplikację, która pobiera tylko nazwę miasta jako dane wejściowe i zeskrobuje wszystkie powiązane wydarzenia z Facebooka. Następnie przeprowadzimy analizę danych i wyszukiwanie semantyczne przy użyciu zaawansowanych możliwości wektora SQL MyScale.

Do stworzenia tej użytecznej aplikacji wykorzystamy kilka narzędzi, w tym Apify, MyScale i OpenAI.

  • Apify: Popularny web scraping i platforma automatyzacji, która znacznie usprawnia proces gromadzenia danych. Zapewnia ona możliwość skrobania danych, a następnie dostarczania ich do LLM. Dzięki temu możemy szkolić LLM na danych w czasie rzeczywistym i tworzyć aplikacje.
  • MyScale: MyScale to wektorowa baza danych SQL, której używamy do przechowywania i przetwarzania zarówno ustrukturyzowanych, jak i nieustrukturyzowanych danych w zoptymalizowany sposób.
  • OpenAI: Będziemy używać modelu text-embedding-3-small z OpenAI aby uzyskać osadzenia tekstu, a następnie zapisać te osadzenia w MyScale w celu analizy danych i wyszukiwania semantycznego.

Jak skonfigurować MyScale i Apify

Aby rozpocząć konfigurację MyScale i Apify, należy utworzyć nowy katalog i plik Python plik. Można to zrobić, otwierając terminal lub wiersz poleceń i wprowadzając następujące polecenia:

Proszę zauważyć: Będziemy pracować w notatniku Pythona. Proszę rozważyć każdy blok kodu jako komórkę notatnika.

Jak skrobać dane za pomocą Apify

Teraz użyjemy API Apify, aby zeskrobać dane o wydarzeniach w Nowym Jorku za pomocą Facebook Events scraper.

Uwaga: Proszę nie zapomnieć dodać klucza API Apify w powyższym skrypcie. Mogą Państwo znaleźć swój token API na stronie Integracje w konsoli Apify.

Wstępne przetwarzanie danych

Kiedy zbieramy surowe dane, są one dostarczane w różnych formatach. W tym skrypcie sprowadzimy daty zdarzeń do jednego formatu, dzięki czemu filtrowanie danych będzie bardziej wydajne.

Generowanie osadzeń

Aby dogłębnie zrozumieć i przeszukiwać zdarzenia, będziemy generować osadzenia z ich opisów przy użyciu funkcji text-embedding-3-small. Osadzenia te wychwytują semantyczną istotę każdego zdarzenia, pomagając aplikacji zwracać lepsze wyniki.

Łączenie z MyScale

Jak wspomniano na początku, będziemy używać MyScale jako wektorowej bazy danych do przechowywania danych i zarządzania nimi. W tym miejscu połączymy się z MyScale w ramach przygotowań do przechowywania danych.

Proszę zauważyć: Proszę zobaczyć Szczegóły połączenia aby uzyskać więcej informacji na temat łączenia się z klastrem MyScale.

Tworzenie tabel i indeksów przy użyciu MyScale

Teraz tworzymy tabelę zgodnie z naszym DataFrame. Wszystkie dane będą przechowywane w tej tabeli, w tym osadzenia.

Przechowywanie danych i tworzenie indeksu w MyScale

W tym kroku wstawiamy przetworzone dane do MyScale. Obejmuje to wsadowe wstawianie danych w celu zapewnienia wydajnego przechowywania i wyszukiwania.

Analiza danych przy użyciu MyScale

Wreszcie, używamy możliwości analitycznych MyScale do przeprowadzania analiz i włączania wyszukiwania semantycznego. Wykonując zapytania SQL, możemy analizować zdarzenia na podstawie tematów, lokalizacji i dat. Spróbujmy więc napisać kilka zapytań.

Proste zapytanie SQL

Najpierw spróbujmy uzyskać 10 najlepszych wyników z tabeli.

Odkrywanie zdarzeń według trafności semantycznej

Proszę spróbować znaleźć 10 najlepszych nadchodzących wydarzeń o podobnym klimacie do wydarzenia referencyjnego, takiego jak to: “One of the Longest Running Shows in the Country – Operating since 1974 …NOW our 50th YEAR !!! Our Schenectady”. Osiąga się to poprzez porównanie semantycznego osadzenia opisów wydarzeń, zapewniając dopasowanie tematów i emocji.

To zapytanie szereguje 10 najlepszych wydarzeń pod względem liczby uczestników i zainteresowanych użytkowników, podkreślając popularne wydarzenia, od dużych festiwali miejskich po duże konferencje. Jest to idealne rozwiązanie dla tych, którzy chcą dołączyć do dużych, energicznych spotkań.

Łącząc trafność i popularność, to zapytanie identyfikuje podobne wydarzenia w Nowym Jorku powiązane z konkretnym wydarzeniem i szereguje je według frekwencji, oferując wyselekcjonowaną listę wydarzeń, które odzwierciedlają tętniącą życiem kulturę miasta i przyciągają lokalne zainteresowanie.

To zapytanie szereguje 10 najlepszych organizatorów wydarzeń według łącznej liczby uczestników i zainteresowanych użytkowników, wyróżniając tych, którzy wyróżniają się w tworzeniu atrakcyjnych wydarzeń i przyciąganiu dużej publiczności. Zapewnia to wgląd planistom wydarzeń i uczestnikom zainteresowanym wydarzeniami na najwyższym poziomie.

Wcześniej zbadaliśmy MyScale pod kątem analizy danych, podkreślając jego możliwości w zakresie ulepszania naszych przepływów pracy z danymi. Idąc dalej, pójdziemy o krok dalej, wdrażając Retrieval-Augmented Generation (RAG), innowacyjną strukturę łączącą zewnętrzną bazę wiedzy z LLM. Ten krok pomoże Państwu lepiej zrozumieć dane i znaleźć bardziej szczegółowe informacje. Następnie zobaczą Państwo, jak używać RAG z MyScale, co sprawi, że praca z danymi będzie bardziej interesująca i produktywna.

Wnioski

Zbadaliśmy możliwości i funkcjonalności MyScale z Apify Scraper w procesie tworzenia aplikacji do analizy zdarzeń. MyScale zademonstrował swoje wyjątkowe możliwości w zakresie wysokowydajnego wyszukiwania wektorowego, zachowując jednocześnie wszystkie funkcje baz danych SQL, co pomaga programistom w wyszukiwaniu semantycznym przy użyciu znanej składni SQL ze znacznie większą szybkością i dokładnością.

Możliwości MyScale nie ograniczają się do tej aplikacji: można ją zaadaptować do tworzenia dowolnych aplikacji AI przy użyciu technologii RAG metoda.

Jeśli mają Państwo jakieś uwagi lub sugestie, prosimy o kontakt.