Pro sürüm
Classifier
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF\Pro\Classifier, belge metni ve yapısı üzerinde belirlenimci sezgisel
kurallar kullanarak bir belge türü (fatura, sözleşme, rapor vb.) ile algılanan
bir dil atar. Kural tabanlıdır, bir makine öğrenmesi modeli değildir.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Pro (nextpdf/pro) içinde sunulur ve Pro katmanı bir lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.
Bu modülü hiçbir çalışma zamanı yetenek bayrağı kapılamaz. Classifier sınıfları, nextpdf/pro yüklü olduğunda her zaman kullanılabilir.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/pro:^3Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümDocumentClassifier, üç iş ortağını düzenler:
StructureAnalyzer, PDF’i sayfa sayısı, görüntü ve yazı tipi sayıları ile form/imza alanları açısından inceler ve birStructureAnalysisüretir.HeuristicClassifier(varsayılanClassifierInterface), metni tür başına anahtar sözcük sözlüklerine göre puanlar ve yapısal sezgisel kuralları uygular (örneğin, kısa belgeler “rapor”dan uzaklaşacak şekilde yanlanır) ve birDocumentTypeile bir güven değeri verir.LanguageDetector, dili on dile ait karakter üçlü harf frekans profillerinden tanımlar ve bir güven eşiğinin altında İngilizce’ye geri döner.
classifyFromText(), daha önce çıkarılmış metni (yapı için isteğe bağlı ham PDF
baytlarıyla birlikte) kabul eder; classifyFromFile(), ham PDF baytlarını kabul
eder ve §9.4 metin gösterme operatörlerini doğrudan ayrıştırarak metni çıkarır.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümYük taşıyan karar, bir makine öğrenmesi modeliyle değil, belirlenimci sezgisel kurallarla sınıflandırmaktır. Kural tabanlı bir işlem hattı, girdisinin saf bir fonksiyonudur: özdeş baytlar her zaman özdeş bir tür, güven değeri ve dil verir; model kayması yok, ağ çağrısı yok. Bu belirlenimcilik, sonucun açık bir güven değerini, bir isConfident() kapısını ve tür başına bir scores eşlemesini açığa çıkarmasını sağlar; böylece modül, seçimi bir modelin ardına gizlemek yerine nasıl karar verdiğini gösterir. Bu nedenle çağıranlar, düşük güvenli belgeleri sözleşme gereği elle incelemeye yönlendirir ve puanlanamayacak kadar kısa metin aynı sabit kural altında en diline geri döner. Bu bir bilinçli takastır: doğruluk, sabit anahtar sözcük ve üçlü harf profilleriyle sınırlanır; karşılığında yeniden üretilebilirlik, incelenebilirlik ve tamamen süreç içinde çalışan bir sınıflandırıcı elde edilir.
Tasarım arka planı: Tahmin etmeyi reddeden bir API.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölüm- Girdi. Çıkarılmış metin (
classifyFromText) veya ham PDF baytları (classifyFromFile). Boş girdi geçerlidir ve düşük güvenli bir sonuç verir; genellikleDocumentType::Other. - Çıktı.
DocumentType,[0.0, 1.0]aralığında bir güven değeri, algılanan yapısal özellikler, bir ISO 639-1 dil kodu ve meta veri içeren birClassificationResult.isConfident(0.7), belgelenmiş eşik yardımcısıdır. - Belirlenimcilik. Sınıflandırma ve dil algılama, girdinin saf fonksiyonlarıdır — aynı girdi, aynı sonuç, rastlantısallık yok, ağ yok.
- Kapsam. On iki belge türü ve on dil profili; her ikisi de bu sürümde
sabittir. Özel stratejiler
ClassifierInterfacearacılığıyla sağlanabilir.
Genel API yüzeyi
“Genel API yüzeyi” başlıklı bölüm| Tür | Çeşit | Temel üyeler |
|---|---|---|
NextPDF\Pro\Classifier\DocumentClassifier | final class | static create(): self, classifyFromText(string $text, string $pdfData = ''): ClassificationResult, classifyFromFile(string $pdfData): ClassificationResult |
NextPDF\Pro\Classifier\ClassifierInterface | interface | classify(string $text, StructureAnalysis $structure): ClassificationResult, supports(string $contentType): bool |
NextPDF\Pro\Classifier\HeuristicClassifier | final class | ClassifierInterface arabirimini uygular |
NextPDF\Pro\Classifier\StructureAnalyzer | final class | analyze(string $pdfData): StructureAnalysis |
NextPDF\Pro\Classifier\LanguageDetector | final class | detect(string $text): string |
NextPDF\Pro\Classifier\ClassificationResult | final readonly class | DocumentType $type, float $confidence, array $features, string $language, isConfident(float $threshold = 0.7): bool |
NextPDF\Pro\Classifier\DocumentType | enum | 12 durum (Invoice, Contract, Form, Report, Letter, Receipt, Legal, Medical, Financial, Technical, Academic, Other); label(): string |
Kod örneği — Hızlı başlangıç
“Kod örneği — Hızlı başlangıç” başlıklı bölüm<?php
declare(strict_types=1);
use NextPDF\Pro\Classifier\DocumentClassifier;
$result = DocumentClassifier::create() ->classifyFromText('Invoice #4471 — Amount due: $1,200.00');
printf( "%s (%.0f%% confidence), lang=%s\n", $result->type->label(), $result->confidence * 100, $result->language,);Kod örneği — Üretim
“Kod örneği — Üretim” başlıklı bölüm<?php
declare(strict_types=1);
use NextPDF\Pro\Classifier\DocumentClassifier;use NextPDF\Pro\Classifier\DocumentType;
function routeDocument(string $pdfBytes): string{ $result = DocumentClassifier::create()->classifyFromFile($pdfBytes);
if (! $result->isConfident(0.7)) { return 'manual-review'; }
return match ($result->type) { DocumentType::Invoice, DocumentType::Receipt => 'accounts-payable', DocumentType::Contract, DocumentType::Legal => 'legal-intake', default => 'general-inbox', };}Uç durumlar ve dikkat edilmesi gerekenler
“Uç durumlar ve dikkat edilmesi gerekenler” başlıklı bölüm- Güven sezgiseldir. Eşiğin altındaki sonuçları “belirsiz” olarak değerlendirin ve üretim örneğinin yaptığı gibi elle incelemeye yönlendirin.
- Dil algılama yeterli metne ihtiyaç duyar; çok kısa dizeler tasarım gereği İngilizce’ye geri döner.
classifyFromFile(), sınırlı bayt düzeyinde metin çıkarımı kullanır; yoğun sıkıştırılmış veya yalnızca görüntü içeren PDF’ler puanlanacak mevcut metni azaltır.- Belge türü ve dil kümeleri bu sürümde sabittir; sınıflandırmayı yerleşik
sözlükleri değiştirerek değil,
ClassifierInterfacearabirimini uygulayarak genişletin.
Data Residency ve PII azaltımları
“Data Residency ve PII azaltımları” başlıklı bölümSınıflandırma, hiçbir ağ çağrısı ve girdinin hiçbir biçimde saklanması olmadan
süreç içinde çalışır. Sonuç, kaynak metni değil, bir DocumentType ve dil kodu
içerir. Çağıranlar metadata değerini kalıcı hâle getiriyorsa, saklamadan önce
arızi PII açısından inceleyin.
Güvenli telemetri ve günlük temizleme
“Güvenli telemetri ve günlük temizleme” başlıklı bölümModül hiçbir telemetri yaymaz ve hiçbir girdiyi günlüğe kaydetmez. Günlük
ekleyen çağıranlar yalnızca sonuçtaki DocumentType ve dil kodunu
kaydetmelidir; sınıflandırılan metni asla kaydetmemelidir.
Performans
“Performans” başlıklı bölümAnahtar sözcük puanlaması ve üçlü harf sayımı, metin uzunluğunda doğrusaldır.
Yapı analizi, sınırlı bir açma üst sınırıyla PDF bayt uzunluğunda doğrusaldır.
Bkz. performance_budget.
Güvenlik notları
“Güvenlik notları” başlıklı bölümclassifyFromFile(), güvenilmeyen PDF baytlarını sınırlı tarama ve bir açma
boyutu üst sınırıyla ayrıştırarak açma bombası girdisine karşı direnir. Hiçbir
gömülü betik yürütülmez.
Uygunluk
“Uygunluk” başlıklı bölüm| İddia | Standart maddesi | Durum |
|---|---|---|
Dosya sınıflandırması için metin Tj ile kurtarıldı | ISO 32000-2:2020 §9.4 | Doğrulandı (birim paketi) |
Dosya sınıflandırması için metin TJ ile kurtarıldı | ISO 32000-2:2020 §9.4 | Doğrulandı (birim paketi) |
| Makine öğrenmesi / model tabanlı sınıflandırma | — | Desteklenmiyor (yalnızca sezgisel) |
Core geri dönüşü / alternatifi
“Core geri dönüşü / alternatifi” başlıklı bölümBelge sınıflandırması veya dil algılaması için hiçbir Core eşdeğeri yoktur.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümBu sınıflandırıcı kural tabanlı ve belirlenimcidir. Hiçbir gömme, vektör benzerliği, model çıkarımı veya anlamsal anlama gerçekleştirmez. Bu yetenekler bu modülün parçası değildir ve onun tarafından ima edilmez.
Yayın sınırı
“Yayın sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilen davranışı ve desteklenen genel API yüzeyini açıklar. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, çalışma kılavuzu dosya adları ve talep önekleri kapsam dışıdır.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölüm- Classifier — Derinlemesine Başvuru — genel API yüzeyinin tamamı, işlem hattı sırası ve hata modları.
- Extraction
- Filter
- Diff