Статистический анализ текста.

Завершено

Замечание

Дополнительные сведения см. на вкладке "Текст и изображения ".

Разбив текстовый корпус на его составляющие маркеры и подготовив их к анализу; Существуют некоторые распространенные методы статистического анализа, которые можно использовать для вывода смысла из текста.

Анализ частоты

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

Например, рассмотрим следующий текст:

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)

Простой анализ частоты, в котором вы подсчитываете количество вхождения каждого маркера, может быть эффективным способом анализа одного документа, но при необходимости различать несколько документов в одном корпусе, необходимо определить, какие маркеры наиболее важны в каждом отдельном документе.

Например, рассмотрим следующие два примера текста:

Пример 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.

Пример 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.

Первые три наиболее частых термина в этих примерах показаны в следующих таблицах:

Пример A:

Срок Частота
agent 6
ai 4
microsoft 4

Пример B:

Срок Частота
microsoft 5
agent 4
ai 4

Как видно из результатов, наиболее распространенные слова в обоих примерах одинаковы ("agent", "Microsoft"и "AI"). Это говорит нам, что оба документа охватывают аналогичную общую тему, но не помогают нам различать отдельные документы. Изучение количества менее часто используемых терминов может помочь, но вы можете легко представить анализ корпусов на основе документации по искусственному интеллекту Майкрософт, что приведет к большому количеству терминов, которые являются общими для всех документов; что затрудняет определение конкретных тем, описанных в каждом документе.

Для решения этой проблемы частотность термина - обратная частотность документа (TF-IDF) — это техника, которая вычисляет оценки на основе частоты появления слова или термина в одном документе в сравнении с его общей частотностью в коллекции документов. С помощью этого метода предполагается высокая степень релевантности для слов, которые часто появляются в определенном документе, но относительно редко в широком диапазоне других документов. Чтобы вычислить TF-IDF для терминов в отдельном документе, можно использовать следующий трехэтапный процесс:

  1. Вычисление частоты терминов (TF): это просто количество раз, когда слово отображается в документе. Например, если слово "agent" отображается 6 раз в документе, то tf(agent) = 6.

  2. Вычисление инверсной частоты документа (IDF): определяет, как часто встречается или как редко слово во всех документах. Если слово встречается в каждом документе, оно не особенное. Формула, используемая для вычисления IDF idf(t) = log(N / df(t)) ( N где общее количество документов и df(t) количество документов, содержащих слово t)

  3. Объедините их, чтобы вычислить TF-IDF: Умножьте TF на IDF, чтобы получить оценку: tfidf(t, d) = tf(t, d) * log(N / df(t))

Высокий показатель TF-IDF указывает на то, что слово часто встречается в одном документе, но редко в других. Низкая оценка указывает на то, что слово распространено во многих документах. В двух примерах об агентах ИИ, поскольку "AI", "Microsoft" и "agent" отображаются в обоих примерах (N = 2, df(t) = 2), их IDF — log(2/2) = 0, поэтому они не оказывают различительных свойств в TF-IDF. Результаты TF-IDF для трёх лучших образцов:

Пример A:

Срок 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.

Методы машинного обучения на основе модели "мешка слов"

Мешок слов — это имя, данное методу извлечения признаков, который представляет токены текста в виде вектора частот или вхождений слов, игнорируя грамматику и порядок слов. Это представление становится входными данными для алгоритмов машинного обучения, таких как Naive Bayes, вероятностный классификатор, который применяет теорему Bayes для прогнозирования вероятного класса документа на основе частоты слова.

Например, этот метод можно использовать для обучения модели машинного обучения, которая выполняет фильтрацию нежелательной почты. Слова "miracle cure", "lose weight fast" и "антивозрастные" могут чаще встречаться в спам-рассылке о сомнительных продуктах для здоровья, чем в ваших обычных электронных письмах, и обученная модель может отмечать сообщения, содержащие эти слова, как потенциальный спам.

Анализ тональности можно реализовать с помощью того же метода для классификации текста по эмоциональному тону. Мешок слов предоставляет признаки, и модель использует эти признаки для оценивания вероятностей и задания меток тональности, таких как "положительный" или "отрицательный".

TextRank

TextRank — это неуправляемый алгоритм на основе графа, который моделирует текст как сеть подключенных узлов. Например, каждое предложение в документе может считаться узлом, а соединения (ребра) между ними оцениваются на основе сходства содержащихся слов. TextRank обычно используется для суммирования текста на основе определения подмножества предложений в документе, который лучше всего представляет его общую тему.

Алгоритм TextRank применяет тот же принцип, что и алгоритм PageRank Google (который ранжирует веб-страницы на основе связей между ними) к тексту. Ключевой идеей является то, что предложение важно, если это похоже на многие другие важные предложения. Алгоритм работает с помощью следующих действий.

  1. Создание графа: каждое предложение становится узлом, а края, соединяющие их, взвешиваются по степени сходства (часто измеряются с помощью пересечения слов или косинусного сходства между векторами предложений).

  2. Вычислить ранги итеративно: Оценка каждого узла рассчитывается на основе показателей узлов, связанных с ним. Формула: (TextRank(Sᵢ) = (1-d) + d * Σ(wⱼᵢ / Σwⱼₖ) * TextRank(Sⱼ) является демпфирующим фактором, как правило, 0,85, d является весом ребра от предложения wⱼᵢ к предложению j, и сумма выполняется по всем предложениям, подключенным к i).

  3. Извлечение предложений верхнего ранжирования: после конвергенции предложения с наивысшими оценками выбираются в качестве сводки.

Например, рассмотрим следующий документ об облачных вычислениях:

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 начинается с разделения этого документа на предложения:

  1. Cloud computing provides on-demand access to computing resources.
  2. Computing resources include servers, storage, and networking.
  3. Azure is Microsoft's cloud computing platform.
  4. Organizations use cloud platforms to reduce infrastructure costs.
  5. Cloud computing enables scalability and flexibility.

Затем создаются связи между предложениями, и их вес определяется на основе сходства (перекрытия слов). В этом примере весами рёбер могут быть:

  • Предложение 1 Предложение 2: 0,5 (акции )
  • Предложение 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 также можно применять на уровне слова для извлечения ключевых слов, где слова (а не предложения) становятся узлами, а края представляют совместное вхождение в фиксированном окне. Наиболее ранжированные слова извлекаются в виде ключевых терминов, представляющих основные темы документа.