Merhaba, bu yazımızda Document Understanding Process Template içinde yer alan önemli akışlardan biri olan Classification Business Rule Validation Workflow’unun yanı sıra, Validate & Train Classifiers state’inin işlevlerine de değineceğiz. Keyifli okumalar!
Classification Business Rule Validation Flow
1 numaralı alanda bulunan Flow Decision aktivitesiyle in_Config argümanından alınan “AlwaysValidateClassification” değerine göre “out_AutoClassificationSuccess” argümanının değeri set edilir. Bu değer ile insan doğrulaması yapılacak mı yapılmayacak mı belirlenir. Değerler aşağıdaki gibi set edilmektedir.
AlwaysValidateClassification: True ise out_AutoClassificationSuccess: False olarak set edilir.
AlwaysValidateClassification: False ise out_AutoClassificationSuccess: True olarak set edilir.
1 numaralı alanda bulunan Flow Decision aktivitesiyle “out_AutoClassificationSuccess” argümanından dışarıya “classificationSuccessFlag” değişkeniyle çıkarılan değere göre insan doğrulaması yapılacak mı yapılmayacak mı belirlenir. 2 numaralı alandaki “Process Each Document” State’inde veri çıkarma işlemleri yapılır. 3 numaralı alandaki “Validate & Train Classifiers” State’inde insan doğrulaması yapılır.
Validate & Train Classifiers State
Validate & Train Classifiers State’inde kullanılan Create Document Classification Action – Main aktivitesi insan onayı için Action Center’a bir belge sınıflandırma görevi oluşturur. Belgeler Storage Bucket’a yüklenir ve görev oluşturulurken taksonomi verileri, önceden yapılan sınıflandırma sonuçları, DOM ve metin bilgileri değişkenlerle sağlanır. Action Center’a gönderilen görev referansı classificationAction değişkenine atanır.
1 numaralı ve 22 numaralı alanlarda bulunan ActionCatalog, görev için kullanılacak Action Center kataloğunu belirtir ve config(“ActionCatalog”) değeri atanır.
2 numaralı ve 23 numaralı alanlarda bulunan ActionFolderPath, görevin oluşturulacağı Orchestrator folder yolunu belirtir ve config(“ActionFolderPath”) değeri atanır.
3 numaralı ve 21 numaralı alanlarda bulunan ActionPriority, görev için öncelik seviyesini belirler ve DocumentActionPriority.Medium değeri atanır.
4 numaralı ve 20 numaralı alanlarda bulunan ActionTitle, görev başlığını belirtir ve config(“ClassificationActionTitle”) + Path.GetFileName(in_TargetFile) değeri atanır.
5 numaralı ve 31 numaralı alanlarda bulunan ActionObject (Output), oluşturulan Action’ın referansını tutar ve classificationAction değişkenine atanır.
6 numaralı alanda bulunan ContinueOnError, hata oluştuğunda işlemin devam edip etmeyeceğini belirtir ve False olarak ayarlanır.
7 numaralı alanda bulunan DisplayName, aktivitenin Studio içindeki görünen adını belirtir ve “Create Document Classification Action – Main” olarak atanır.
8 numaralı alanda bulunan RetryOnFailure, görev oluşturma başarısız olursa tekrar deneneceğini belirtir ve işaretlidir.
9 numaralı alanda bulunan Timeout, görev oluşturma için maksimum bekleme süresini belirtir ve herhangi bir değer atanmazsa varsayılan olarak 100000 ms olarak uygulanır.
10 numaralı ve 30 numaralı alanlarda bulunan AutomaticClassificationResults, varsa önceden yapılan sınıflandırma sonuçlarını içerir ve classificationResultsArray değeri atanır.
11 numaralı ve 28 numaralı alanlarda bulunan DocumentObjectModel, belge nesnesini belirtir ve dom değeri atanır.
12 numaralı ve 26 numaralı alanlarda bulunan DocumentPath, işlenecek belgenin dosya yolunu belirtir ve in_TargetFile atanır.
13 numaralı ve 29 numaralı alanlarda bulunan Taxonomy, görevde kullanılacak taksonomiyi belirtir ve docTaxonomy değeri atanır.
14 numaralı ve 27 numaralı alanlarda bulunan DocumentText, belgenin metnini belirtir ve docText atanır.
15 numaralı alanda bulunan AutomaticExtractionResults, insan onayı için çıkarılmış verileri belirtmek için kullanılabilir ancak burada boş bırakılmıştır.
16 numaralı alanda bulunan Private, görevin diğer kullanıcılar tarafından görülüp görülemeyeceğini belirtir ve seçili değildir.
17 numaralı alanda bulunan ShowOnlyRelevantPageRange, yalnızca ilgili sayfa aralıklarının gösterilip gösterilmeyeceğini belirtir ve seçili değildir.
18 numaralı ve 25 numaralı alanlarda bulunan BucketDirectoryPath, dosyanın yükleneceği bucket içindeki klasör yolunu belirtir ve config(“StorageBucketDirectoryPath”) değeri atanır.
19 numaralı ve 24 numaralı alanlarda bulunan BucketName, kullanılacak Storage Bucket’ın adını belirtir ve config(“StorageBucketName”) değeri atanır.
TransactionItem boş değil ise If bloğunun Then kısmında bulunan 1 numaralı alandaki “SetTransactionProgress” flowuna giriş yapılır. TransactionItem boş ise If bloğunun Else kısmına girilir ve hiç bir işlem yapmadan sonraki işlemlere geçilir. 2 numaralı alanda “SetTransactionProgress” flowunun argüman parametreleri bulunmaktadır.
Set Transaction Progress Flow
“SetTransactionProgress” flowunda 1 numaralı alanda bulunan Orchestrator Folder Path, görev için kullanılacak Orchestrator’daki folder yolunu belirtir ve in_Config(“DocumentUnderstandingQueueFolder”) değeri atanır.
2 numaralı alanda bulunan Transaction Item, işlem yapılacak Queue öğesini belirtir ve in_TransactionItem değeri atanır.
3 numaralı alanda bulunan Progress, Queue öğesine yazılacak ilerleme durumunu belirtir ve in_Progress + “_” + in_Config(“logKey”) değeri atanır.
Validate & Train Classifiers State
1 numaralı ve 20 numaralı alanlarda bulunan ActionObject (Input/Output), Action Center’daki sınıflandırma görevinin referansını belirtir ve işlem boyunca classificationAction nesnesi kullanılır.
2 numaralı alanda yine aynı classificationAction nesnesi Output olarak döndürülür, yani görev tamamlandıktan sonra çıktı olarak tekrar kullanılır.
3 numaralı alanda bulunan ContinueOnError, hata durumunda işlem adımının devam edip etmeyeceğini belirler; işaretli değilse hata alınca akış durur.
4 numaralı alan olan DisplayName, aktivitenin tasarım ekranındaki görünen adıdır ve burada “Wait For Document Classification Action And Resume – Main” şeklinde atanmıştır.
5 numaralı RetryOnFailure, görev başarısız olursa tekrar denenip denenmeyeceğini belirtir; bu örnekte işaretli değildir.
6 numaralı alan olan StatusMessage, Action Center kullanıcı arayüzünde görünecek bilgilendirme mesajıdır. Örneğin “Validating Classification” gibi kullanıcıya ne yaptığı bildirilebilir.
7 numaralı Timeout alanı, kullanıcının görevi tamamlaması için beklenilecek maksimum süreyi milisaniye cinsinden belirtir.
8 numaralı ve 26 numaralı alanlardaki AutomaticClassificationResults, oluşturulan otomatik sınıflandırma sonuçlarını tutar.
9 numaralı ve 24 numaralı DocumentObjectModel, dosya içerisindeki yapısal ve alan bilgilerini içeren veri modelidir.
10 numaralı ve 22 numaralı DocumentPath, indirilen dosyanın sistemdeki fiziksel konumunu belirtir.
11 numaralı ve 23 numaralı DocumentText, OCR sonrası elde edilen metni içerir.
12 numaralı ve 25 numaralı Taxonomy, belge türlerinin ve veri alanlarının tanımlandığı sınıflandırma sözlüğüdür.
13 numaralı ve 21 numaralı ValidatedClassificationResults, kullanıcı onayından geçmiş sınıflandırma sonucunu temsil eder.
14 numaralı Private, bu aktivitenin loglara değişken bilgilerini yazıp yazmayacağını belirler; işaretlenirse hassas veriler loglarda gizlenir.
15 numaralı ve 18 numaralı DownloadDirectoryPath, dosyanın geçici olarak nereye indirileceğini belirtir. Metin olarak klasör yolu girilmelidir (örn: “C:\Temp”).
16 numaralı ve 19 numaralı RemoveDataFromStorage, dosya indirildikten sonra storage’dan silinmesini sağlar; işaretli olduğunda temizleme işlemi otomatik yapılır.
17 numaralı alan, Action Center’dan gelen görevi temsil eden giriş nesnesidir ve classificationAction olarak atanmıştır.
Document Understanding Process Template #4 makalemizin sonuna geldik. Document Understanding Process Template #5 makalesi çok yakında…