Обзор системы сегментации:
PHPAnalysis — это программа для сегментации слов, которая использует словарь на основе Unicode и метод обратного сопоставления. Теоретически она совместима с более широким спектром кодировок и особенно удобна для UTF-8. Поскольку PHPAnalysis является бескомпонентной системой, её скорость может быть немного ниже, чем у компонентных систем. Однако при большом объёме сегментации, поскольку загрузка словаря происходит одновременно с сегментацией, объём текста увеличивает скорость работы программы. Это нормальное явление.
Словарь PHPAnalysis организован в виде структуры данных, подобной хэш-таблице, что делает его эффективным для коротких строк. Для таких строк требуется лишь небольшой объём ресурсов, а размер словаря не влияет на скорость сегментации.
Система сегментации PHPAnalysis основана на методе сопоставления строк, который также называют механическим методом сегментации. Этот метод включает сопоставление анализируемого китайского текста с записями в обширном машинном словаре. Если совпадение найдено, оно считается успешным (определяется слово). В зависимости от направления сканирования, методы сопоставления могут быть прямыми или обратными; в зависимости от приоритета длины совпадения — максимальными (самыми длинными) или минимальными (самыми короткими); в зависимости от того, связаны ли они с процессом маркировки частей речи, — простыми методами сегментации или комплексными методами, объединяющими сегментацию и маркировку.
Вот несколько распространённых механических методов сегментации:
Также можно комбинировать эти методы, например, прямую максимальную сегментацию с обратной максимальной сегментацией. Из-за особенностей китайского языка, прямая минимальная сегментация и обратная минимальная сегментация используются редко. Обычно обратная сегментация обеспечивает более высокую точность, чем прямая. Статистические данные показывают, что ошибка прямой максимальной сегментации составляет примерно 1/169, а ошибка обратной максимальной сегментации — примерно 1/245. Но эта точность всё ещё далека от реальных потребностей.
В практических системах сегментации механический метод используется как начальный этап, после чего применяются другие языковые данные для повышения точности сегментации. Другой подход заключается в улучшении метода сканирования, называемого «сегментация по признакам» или «сегментация с использованием маркеров». Он предполагает поиск и разделение слов с явными признаками, которые служат ориентирами для разделения исходного текста на более мелкие сегменты, что снижает вероятность ошибок при сегментации. Ещё один подход объединяет сегментацию со снятием лексической омонимии, используя богатую информацию о частях речи для принятия решений о сегментации и проверяя и корректируя результаты сегментации во время процесса снятия омонимии. Это значительно повышает точность сегментации.
PHPAnalysis:
Сегментация PHPAnalysis сначала грубо разделяет текст, затем применяет метод обратной максимальной сегментации (RMM) к коротким предложениям для более точной сегментации. После сегментации результаты оптимизируются, чтобы получить окончательный результат.
$resultType = 1; // Тип данных результата сегментации (1 — все данные, 2 — словарные слова и отдельные китайские, японские, корейские, английские символы, 3 — только словарные и английские слова). Эту переменную обычно устанавливают с помощью метода SetResultType($rstype).
$notSplitLen = 5; // Минимальная длина предложения для сегментации
$toLower = false; // Преобразование всех английских слов в нижний регистр
$differMax = false; // Использование максимального разделения для устранения неоднозначности биграмм
$unitWord = true; // Попытка объединить однобуквенные слова (обнаружение новых слов)
$differFreq = false; // Применение частотного подхода для устранения неоднозначности
Функция: конструктор Параметры: $source_charset — исходная кодировка строки $target_charset — целевая кодировка каталога $load_all — полная загрузка словаря (этот параметр больше не используется) $source — исходная строка Если входные и выходные данные имеют формат utf-8, то инициализация не требует параметров, достаточно установить текст для обработки с помощью метода SetSource().
Функция: установка исходной строки Параметры: $source — исходная строка $source_charset — кодировка исходной строки $target_charset — целевая кодировка Возвращаемое значение: bool
Функция: запуск процесса сегментации Параметры: $optimize — оптимизация результатов после сегментации Возвращаемое значение: void Пример базового процесса сегментации:
$pa = new PhpAnalysis();
$pa->SetSource('Текст для сегментации');
// Установка свойств сегментации
$pa->resultType = 2;
$pa->differMax = true;
$pa->StartAnalysis();
// Получение желаемого результата
$pa->GetFinallyIndex();
Функция: настройка типа возвращаемых результатов Фактически это операция над переменной-членом $resultType. Параметр $rstype имеет значения: 1 — все данные 2 — словарные слова и отдельные китайские, японские, корейские, английские символы 3 — только словарные и английские слова Возвращаемое значение: void
Функция: получение наиболее частотных ключевых слов (обычно используется для извлечения ключевых слов из документов) Параметр: $num = 10 — количество возвращаемых ключевых слов Возвращаемое значение: список ключевых слов через запятую
Функция: получение окончательного результата сегментации Параметр: $spword — разделитель между словами Возвращаемое значение: string
Функция: получение результатов грубой сегментации Возвращаемое значение: array
Функция: получение результатов грубой сегментации с информацией об атрибутах Атрибуты (1 — китайский текст, 2 — ANSI словарные слова, 3 — знаки пунктуации ANSI, включая полные формы, 4 — цифры, включая полные формы, 5 — китайские знаки пунктуации или неразборчивые символы) Возвращаемое значение: массив
Функция: получение массива индексов хэша Возвращаемое значение: array('word'=>count,...), отсортированный по частоте появления
Функция: компиляция текстового файла словаря в словарь Параметры: $source_file — исходный текстовый файл $target_file — целевой файл (если не указан, используется текущий словарь) Возвращаемое значение: void
Функция: экспорт всех записей текущего словаря в текстовый файл Параметр: $targetfile — целевой файл Возвращаемое значение: void
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )