Analiza tekstu statystycznego.
Uwaga / Notatka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Po rozbiciu korpusu tekstowego na jego tokeny składowe i przygotowaniu ich do analizy; istnieje kilka typowych technik analizy statystycznej, których można użyć do wnioskowania znaczenia tekstu.
Analiza częstotliwości
Być może najbardziej oczywistym sposobem ustalenia tematów omówionych w dokumencie jest po prostu zliczenie liczby wystąpień każdego znormalizowanego tokenu. Założeniem jest to, że terminy, które są używane częściej w dokumencie, mogą pomóc zidentyfikować omówione tematy lub motywy. Mówiąc po prostu, jeśli możesz określić najczęściej używane słowa w danym dokumencie, często możesz uzyskać dobry pomysł na temat tego, co dotyczy dokumentu.
Rozważmy na przykład następujący tekst:
AI in modern business delivers transformative benefits by enhancing efficiency, decision-making, and customer experiences. Businesses can leverage AI to automate repetitive tasks, freeing employees to focus on strategic work, while predictive analytics and machine learning models enable data-driven decisions that improve accuracy and speed. AI-powered tools like Copilot streamline workflows across marketing, finance, and operations, reducing costs and boosting productivity. Additionally, intelligent applications personalize customer interactions, driving engagement and loyalty. By embedding AI into core processes, businesses benefit from the ability to innovate faster, adapt to market changes, and maintain a competitive edge in an increasingly digital economy.
Po tokenizowaniu, normalizacji i zastosowaniu lemmatyzacji do tekstu częstotliwość każdego terminu może być liczone i tabelaryzowane; generując następujące częściowe wyniki:
| Termin | Częstotliwość |
|---|---|
ai |
4 |
business |
3 |
benefit |
2 |
customer |
2 |
decision |
2 |
market |
2 |
ability |
1 |
accuracy |
1 |
| ...\ | ...\ |
Z tych wyników najczęściej występujące terminy wskazują, że w tekście omówiono sztuczną inteligencję i jej korzyści biznesowe.
Częstotliwość terminów — odwrotna częstość dokumentu (TF-IDF)
Prosta analiza częstotliwości, w której zliczasz liczbę wystąpień każdego tokenu, może być skutecznym sposobem na analizowanie pojedynczego dokumentu, ale kiedy trzeba odróżnić wiele dokumentów w ramach tego samego korpusu, potrzebujesz sposobu na ustalenie, które tokeny są najbardziej istotne w każdym z nich.
Rozważmy na przykład następujące dwa przykłady tekstu:
Przykład A:
Microsoft Copilot Studio enables declarative AI agent creation using natural language, prompts, and templates. With this declarative approach, an AI agent is configured rather than programmed: makers define intents, actions, and data connections, then publish the agent to channels. Microsoft Copilot Studio simplifies agent orchestration, governance, and lifecycles so an AI agent can be iterated quickly. Using Microsoft Copilot Studio helps modern businesses deploy Microsoft AI agent solutions fast.
Przykład B:
Microsoft Foundry enables code‑based AI agent development with SDKs and APIs. Developers write code to implement agent conversations, tool calling, state management, and custom pipelines. In Microsoft Foundry, engineers can use Python or Microsoft C#, integrate Microsoft AI services, and manage CI/CD to deploy the AI agent. This code-first development model supports extensibility and performance while building Microsoft Foundry AI agent applications.
Trzy najczęstsze terminy w tych przykładach przedstawiono w następujących tabelach:
Przykład A:
| Termin | Częstotliwość |
|---|---|
agent |
6 |
ai |
4 |
microsoft |
4 |
Przykład B:
| Termin | Częstotliwość |
|---|---|
microsoft |
5 |
agent |
4 |
ai |
4 |
Jak widać w wynikach, najbardziej typowe słowa w obu próbkach są takie same ("agent", "Microsoft", i "AI"). Informuje nas to, że oba dokumenty obejmują podobny ogólny motyw, ale nie pomagają nam dyskryminować poszczególnych dokumentów. Badanie liczby rzadziej używanych terminów może pomóc, ale można łatwo sobie wyobrazić analizę korpusu opartą na dokumentacji sztucznej inteligencji firmy Microsoft, co spowodowałoby dużą liczbę terminów, które są wspólne we wszystkich dokumentach; utrudnia określenie określonych tematów omówionych w każdym dokumencie.
Aby rozwiązać ten problem, częstotliwość terminów — odwrotna częstotliwość dokumentów (TF-IDF) to technika, która oblicza wyniki na podstawie częstotliwości wyświetlania wyrazu lub terminu w jednym dokumencie w porównaniu z bardziej ogólną częstotliwością w całej kolekcji dokumentów. Przy użyciu tej techniki przyjmuje się wysoki stopień istotności słów, które pojawiają się często w konkretnym dokumencie, ale stosunkowo rzadko w szerokim zakresie innych dokumentów. Aby obliczyć TF-IDF dla terminów w pojedynczym dokumencie, możesz użyć następującego procesu trzyetapowego:
Oblicz częstotliwość terminów (TF): jest to po prostu ile razy wyraz pojawia się w dokumencie. Jeśli na przykład wyraz
"agent"pojawia się 6 razy w dokumencie, totf(agent) = 6.Calculate Inverse Document Frequency (IDF): sprawdza, jak często lub rzadko słowo znajduje się we wszystkich dokumentach. Jeśli wyraz pojawia się w każdym dokumencie, nie jest to specjalne. Formuła używana do obliczania IDF to
idf(t) = log(N / df(t))(gdzieNjest łączną liczbą dokumentów idf(t)jest liczbą dokumentów zawierających wyrazt)Połącz je, aby obliczyć tf-IDF: Pomnóż tf i IDF, aby uzyskać wynik:
tfidf(t, d) = tf(t, d) * log(N / df(t))
Wysoki wynik TF-IDF wskazuje, że wyraz pojawia się często w jednym dokumencie, ale rzadko w innych. Niski wynik wskazuje, że słowo jest powszechne w wielu dokumentach. W dwóch przykładach dotyczących agentów sztucznej inteligencji, ponieważ "AI", "Microsoft" i "agent" pojawiają się w obu próbkach (N = 2, df(t) = 2), ich IDF to log(2/2) = 0, więc nie mają dyskryminacyjnej wagi w TF-IDF. Trzy pierwsze wyniki TF-IDF dla próbek to:
Przykład A:
| Termin | TF-IDF |
|---|---|
copilot |
2.0794 |
studio |
2.0794 |
declarative |
1.3863 |
Przykład B:
| Termin | TF-IDF |
|---|---|
code |
2.0794 |
develop |
2.0794 |
foundry |
2.0794 |
Z tych wyników jest jaśniejszy, że przykład A dotyczy tworzenia agenta deklaratywnego za pomocą narzędzia Copilot Studio, podczas gdy przykład B dotyczy tworzenia agentów opartych na kodzie w rozwiązaniu Microsoft Foundry.
Techniki uczenia maszynowego "Bag-of-words"
Bag-of-words to nazwa nadana technice wyodrębniania cech, która reprezentuje tokeny tekstowe jako wektor częstotliwości słów lub liczby wystąpień, pomijając gramatykę i kolejność wyrazów. Ta reprezentacja staje się danymi wejściowymi dla algorytmów uczenia maszynowego, takich jak Naive Bayes, klasyfikator probabilistyczny, który stosuje twierdzenie Bayesa w celu przewidywania prawdopodobnej klasy dokumentu na podstawie częstotliwości słów.
Możesz na przykład użyć tej techniki do wytrenowania modelu uczenia maszynowego, który wykonuje filtrowanie spamu w wiadomościach e-mail. Słowa "miracle cure", "lose weight fast"i "anti-aging" mogą pojawiać się częściej w niepożądanych wiadomościach e-mail dotyczących wątpliwych produktów zdrowotnych niż zwykłe wiadomości e-mail, a wytrenowany model może oznaczać wiadomości zawierające te słowa jako potencjalny spam.
Analizę tonacji można zaimplementować przy użyciu tej samej metody klasyfikowania tekstu według tonu emocjonalnego. Worek słów zawiera funkcje, a model używa tych funkcji do szacowania prawdopodobieństwa i przypisywania etykiet tonacji, takich jak "pozytywne" lub "negatywne".
TextRank
TextRank to nienadzorowany algorytm oparty na grafach, który modeluje tekst jako sieć połączonych węzłów. Na przykład każde zdanie w dokumencie może być traktowane jako węzeł, a połączenia (krawędzie) między nimi są oceniane na podstawie podobieństwa słów, które zawierają. Funkcja TextRank jest często używana do podsumowywania tekstu na podstawie identyfikowania podzbioru zdań w dokumencie, który najlepiej reprezentuje jego ogólny temat.
Algorytm TextRank stosuje tę samą zasadę co algorytm PageRank firmy Google (który klasyfikuje strony internetowe na podstawie łączy między nimi) do tekstu. Kluczową ideą jest to, że zdanie jest ważne, jeśli jest podobne do wielu innych ważnych zdań. Algorytm działa w następujących krokach:
Tworzenie grafu: każde zdanie staje się węzłem, a krawędzie łączące je są ważone podobieństwem (często mierzone za pomocą nakładających się wyrazów lub podobieństwa cosinus między wektorami zdań).
Oblicz iteracyjne klasyfikacje: wynik każdego węzła jest obliczany na podstawie wyników węzłów połączonych z nim. Formuła to:
TextRank(Sᵢ) = (1-d) + d * Σ(wⱼᵢ / Σwⱼₖ) * TextRank(Sⱼ)(gdziedjest czynnikiem tłumienia, zazwyczaj 0,85,wⱼᵢjest współczynnikiem wagi krawędzi od zdaniajdo zdaniai, a suma iteruje po wszystkich zdaniach połączonych zi).Wyodrębnij zdania o najwyższej klasyfikacji: po zbieżności zdania z najwyższymi wynikami są wybierane jako podsumowanie.
Rozważmy na przykład następujący dokument dotyczący przetwarzania w chmurze:
Cloud computing provides on-demand access to computing resources. Computing resources include servers, storage, and networking. Azure is Microsoft's cloud computing platform. Organizations use cloud platforms to reduce infrastructure costs. Cloud computing enables scalability and flexibility.
Aby wygenerować podsumowanie tego dokumentu, proces TextRank rozpoczyna się od podzielenia tego dokumentu na zdania:
Cloud computing provides on-demand access to computing resources.Computing resources include servers, storage, and networking.Azure is Microsoft's cloud computing platform.Organizations use cloud platforms to reduce infrastructure costs.Cloud computing enables scalability and flexibility.
Następnie krawędzie są tworzone między zdaniami z przypisanymi wagami na podstawie podobieństwa (zbieżność wyrazów). W tym przykładzie wagi krawędzi mogą być następujące:
- Zdanie 1 <-> Zdanie 2: 0,5 (udziały
"computing resources") - Zdanie 1 <—> Zdanie 3: 0,6 (akcje
"cloud computing") - Zdanie 1 <—> Zdanie 4: 0,2 (udostępnienia
"cloud") - Zdanie 1 <-> Zdanie 5: 0,7 (udziały
"cloud computing") - Zdanie 2 <—> zdanie 3: 0,2 (ograniczone nakładanie się)
- Zdanie 2 <—> zdanie 4: 0.1 (ograniczone nakładanie się)
- Zdanie 2 <—> Zdanie 5: 0,1 (udziały
"computing") - Zdanie 3 <> Zdanie 4: 0,5 (udziały
"cloud platforms") - Zdanie 3 <—> Zdanie 5: 0,4 (udziały
"cloud computing") - Zdanie 4 <—> zdanie 5: 0,3 (ograniczone nakładanie się)
Po obliczeniu wyników TextRank iteracyjnie przy użyciu tych wag zdania 1, 3 i 5 mogą otrzymać najwyższe wyniki, ponieważ łączą się dobrze z innymi zdaniami za pomocą wspólnej terminologii i pojęć. Te zdania zostaną wybrane w celu utworzenia zwięzłego podsumowania: "Cloud computing provides on-demand access to computing resources. Azure is Microsoft's cloud computing platform. Cloud computing enables scalability and flexibility."
Uwaga / Notatka
Generowanie podsumowania dokumentu przez wybranie najbardziej odpowiednich zdań jest formą podsumowania wyodrębniającego . W tym podejściu nie jest generowany żaden nowy tekst — podsumowanie składa się z podzbioru oryginalnego tekstu. Nowsze zmiany w modelowaniu semantycznym umożliwiają również podsumowanie abstrakcyjne , w którym jest generowany nowy język, który podsumowuje kluczowe motywy dokumentu źródłowego.
TextRank można również stosować na poziomie wyrazów do ekstrakcji słów kluczowych, gdzie wyrazy (a nie zdania) stają się węzłami, a krawędzie reprezentują współwystępowanie w ustalonym oknie. Wyrazy o najwyższej klasyfikacji są wyodrębniane jako kluczowe terminy reprezentujące główne tematy dokumentu.