Аналіз статистичного тексту.
Порада
Перегляньте вкладку Текст і зображення для отримання більш детальної інформації!
Розбиваючи текстовий корпус на його складові токени та готуючи їх до аналізу; Існують поширені методи статистичного аналізу, які можна використати для виведення значення з тексту.
Частотний аналіз
Можливо, найочевидніший спосіб визначити теми, які обговорюються в документі, — це просто порахувати, скільки разів кожен нормалізований токен з'являється. Припускається, що терміни, які використовуються частіше в документі, можуть допомогти ідентифікувати обговорювані теми чи теми. Простіше кажучи, якщо ви зможете визначити найпоширеніші слова в документі, ви часто отримаєте гарне уявлення про те, про що він йдеться.
Наприклад, розглянемо наступний текст:
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.
Після токенізації, нормалізації та застосування лемматизації до тексту частоту кожного терму можна порахувати та зафіксувати в таблиці; Отримавши такі часткові результати:
| Термін | Частота |
|---|---|
ai |
4 |
business |
3 |
benefit |
2 |
customer |
2 |
decision |
2 |
market |
2 |
ability |
1 |
accuracy |
1 |
| ... | ... |
З цих результатів найчастіше зустрічаються терміни вказують, що текст розглядає ШІ та його бізнес-переваги.
Частота терміну — обернена частота документа (TF-IDF)
Простий частотний аналіз, у якому ви рахуєте кількість появи кожного токена, може бути ефективним способом аналізу одного документа, але коли потрібно розрізняти кілька документів в одному корпусі, потрібно визначити, які токени є найбільш релевантними для кожного окремого документа.
Наприклад, розглянемо наступні два приклади тексту:
Приклад А:
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.
Зразок 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.
Три найпоширеніші терміни в цих вибірках наведені у наступних таблицях:
Приклад А:
| Термін | Частота |
|---|---|
agent |
6 |
ai |
4 |
microsoft |
4 |
Зразок B:
| Термін | Частота |
|---|---|
microsoft |
5 |
agent |
4 |
ai |
4 |
Як видно з результатів, найпоширеніші слова в обох вибірках однакові ("agent", "Microsoft", і "AI"). Це свідчить про те, що обидва документи охоплюють схожу загальну тему, але не допомагає розрізняти окремі документи. Аналіз кількості менш часто використовуваних термінів може допомогти, але легко уявити аналіз корпусу на основі AI-документації Microsoft, що призведе до появи великої кількості термінів, спільних для всіх документів; ускладнює визначення конкретних тем у кожному документі.
Для вирішення цієї проблеми метод Частота термінів — обернена частота документів (TF-IDF) — це метод, який розраховує бали залежно від того, як часто слово або термін з'являються в одному документі порівняно з його загальною частотою у всій колекції документів. Використовуючи цей метод, високий ступінь відповідності припускається для слів, які часто відображаються в певному документі, але відносно нечасто в широкому діапазоні інших документів. Щоб розрахувати TF-IDF термінів у окремому документі, ви можете скористатися наступним трьохкроковим процесом:
Обчислення частоти термінів (TF): це просто кількість разів слово в документі. Наприклад, якщо слово
"agent"з'являється 6 разів у документі, тоtf(agent) = 6.Обчислення оберненої частоти документів (IDF): це перевіряє, наскільки поширене або рідкісне слово у всіх документах. Якщо слово з'являється в кожному документі, воно не є особливим. Формула, що використовується для обчислення IDF, має вигляд
idf(t) = log(N / df(t))(деN— загальна кількість документів, аdf(t)— кількість документів, що містять цеtслово )Об'єднайте їх для розрахунку TF-IDF: Помножте TF і IDF, щоб отримати бал:
tfidf(t, d) = tf(t, d) * log(N / df(t))
Високий бал TF-IDF означає, що слово часто зустрічається в одному документі, але рідко в інших. Низький бал означає, що це слово поширене у багатьох документах. У двох вибірках про агентів ШІ, оскільки "AI", , і "Microsoft" з'являються в обох вибірках ("agent"), їхній IDF є N = 2, df(t) = 2, тому вони не мають дискримінуючої ваги в TF-IDFlog(2/2) = 0. Три найкращі TF-IDF результати для цих зразків:
Приклад А:
| Термін | TF-IDF |
|---|---|
copilot |
2.0794 |
studio |
2.0794 |
declarative |
1.3863 |
Зразок B:
| Термін | TF-IDF |
|---|---|
code |
2.0794 |
develop |
2.0794 |
foundry |
2.0794 |
З цих результатів стає зрозуміліше, що зразок A стосується декларативного створення агентів у Copilot Studio, а зразок B — розробки агентів на основі коду з Microsoft Foundry.
«Мішок слів» — техніки машинного навчання
Bag-of-word — це назва техніки вилучення ознак, яка представляє текстові токени як вектор частот або явищ слів, ігноруючи граматику та порядок слів. Це представлення стає вхідним елементом для алгоритмів машинного навчання, таких як Naive Bayes — ймовірнісний класифікатор, який застосовує теорему Байєса для прогнозування ймовірного класу документа на основі частоти слів.
Наприклад, ви можете використати цю техніку для навчання моделі машинного навчання, яка виконує фільтрацію спаму електронної пошти. Слова "miracle cure", "lose weight fast", та «анти-старіння» можуть частіше зустрічатися у спам-листах про сумнівні товари для здоров'я, ніж у звичайних листах, і навчена модель може позначати повідомлення з цими словами як потенційний спам.
Ви можете реалізувати аналіз почуттів , використовуючи той самий метод для класифікації тексту за емоційним тоном. Мішок слів надає ознаки, а модель використовує ці ознаки для оцінки ймовірностей і призначення позначок настрою, таких як «позитивний» або «негативний».
TextRank
TextRank — це неконтрольований алгоритм на основі графів, який моделює текст як мережу з'єднаних вузлів. Наприклад, кожне речення в документі можна вважати вузлом, а зв'язки (ребра) між ними оцінюються за схожістю слів, які вони містять. TextRank зазвичай використовується для узагальнення тексту на основі визначення підмножини речень у документі, які найкраще відображають його загальну тему.
Алгоритм TextRank застосовує той самий принцип, що й алгоритм PageRank від Google (який ранжує веб-сторінки за посиланнями між ними) до тексту. Головна ідея полягає в тому, що речення важливе, якщо воно схоже на багато інших важливих речень. Алгоритм виконує наступні кроки:
Побудуйте граф: кожне речення стає вузлом, а ребра, що їх з'єднують, зважуються за схожістю (часто вимірюваною за допомогою перекриття слів або косинусної схожості між векторами речень).
Розраховуйте рейтинги ітеративно: оцінка кожного вузла розраховується на основі балів вузлів, підключених до нього. Формула має вигляд:
TextRank(Sᵢ) = (1-d) + d * Σ(wⱼᵢ / Σwⱼₖ) * TextRank(Sⱼ)(деd— загасувальний коефіцієнт, зазвичай 0,85,wⱼᵢ— вага ребра відjречення доiречення , а сума повторюється по всіх реченнях, пов'язаних зi).Витягніть речення з найвищим рейтингом: після зближення вибираються речення з найвищими балами як підсумок.
Наприклад, розглянемо наступний документ про хмарні обчислення:
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.
Для створення резюме цього документа процес TextRank починається з розділення документа на речення:
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.
Далі між реченнями створюються ребра з вагами, заснованими на схожості (перекриття слів). Для цього прикладу ваги ребер можуть бути такими:
- Речення 1 <-> Речення 2: 0,5 (ділиться
"computing resources") - Речення 1 <-> Речення 3: 0,6 (ділиться
"cloud computing") - Речення 1 <-> Речення 4: 0.2 (ділиться
"cloud") - Речення 1 <-> Речення 5: 0.7 (ділиться
"cloud computing") - Речення 2 <-> Речення 3: 0,2 (обмежене перекриття)
- Речення 2 <-> Речення 4: 0,1 (обмежене перекриття)
- Речення 2 <-> Речення 5: 0.1 (ділиться
"computing") - Речення 3 <-> Речення 4: 0.5 (ділиться
"cloud platforms") - Речення 3 <-> Речення 5: 0.4 (ділиться
"cloud computing") - Речення 4 <-> Речення 5: 0,3 (обмежене перекриття)
Після ітеративного розрахунку балів TextRank з використанням цих ваг, речення 1, 3 і 5 можуть отримати найвищі бали, оскільки вони добре пов'язані з іншими реченнями через спільну термінологію та поняття. Ці речення будуть обрані для формування короткого резюме: "Cloud computing provides on-demand access to computing resources. Azure is Microsoft's cloud computing platform. Cloud computing enables scalability and flexibility."
Примітка
Формування резюме документа шляхом вибору найбільш релевантних речень є формою екстрактного узагальнення. У цьому підході новий текст не генерується — резюме складається з підмножини оригінального тексту. Більш сучасні розробки семантичного моделювання також дозволяють абстрактне узагальнення, коли генерується нова мова, що узагальнює ключові теми вихідного документа.
TextRank також може застосовуватися на рівні слова для вилучення ключових слів, де слова (а не речення) стають вузлами, а ребра означають співіснування у фіксованому вікні. Найвищі за рейтингом слова виділяються як ключові терміни, що представляють основні теми документа.