İçindekiler Tablosu
- Genel Bakış
- Sözlük
- Kurulum
- VooDoo'ya Başlarken
- Senaryo Adımları
- Akış Kontrolü
- Biçimlendirme Ve Dönüştürme
- Dosya
- Doğrulama
- Döngüler
- E-Posta
- Ekran Verileri
- Excel
- FTP
- Gelişmiş
- Karşılaştırma
- Klasör
- Klavye
- Kopyalama Panosu
- Kullanıcı Arayüzü
- Kültür
- Matematik Kütüphanesi
- Metin
- Rastgele
- Regex
- Sistem
- Sürücü
- Tarih ve Zaman
- Uygulama
- Veri Kaynağı
- Windows Oturum Bilgileri
- Adım Geliştirme
- Gömülü Geliştirme Ortamı
- Voodoo Connect
- Genel Bakış
- Connect Bağlantı
- Connect Hüküm ve Koşulları
- Çapraz Tarayıcı Komut Dosyası (CBS)
- Chrome Uzantısı
- Firefox Uzantısı
- ML.NET ve VooDoo
- Bildirim Merkezi
- Bütünleşik Konsol
- Paketlenmiş Kütüphane
- Veri Tabanı
- Sorun Giderme
- 3ncü Parti Tool
VooDoo RPA ve ML.Net Kullanımı
VooDoo RPA ve Eğitilmiş ML.net paketi kullanımı ile veri oluşturmak için öncelikle;
Visual Studio ortamında ML.Net ile verinizi eğitiniz. Eğitilen veri bütünü bir *.zip paketi şeklinde oluştuktan sonra, verinizi VooDoo Studio’da istediğiniz bir senaryo üzerinde kullanabilirsiniz.
Visual Studio üzerinde kullanabileceğiniz veri eğitimi araçları şu şekildedir;
- Metin Sınıflandırma
- Değer Tahmini
- Resim Sınıflandırma
- Önerme
- Obje Tespiti
-
- Kullanırken yardımcı olacak adımlar:
1. Microsoft.ML.Data.dll ve Microsoft.ML.dll, VooDoo Studio İçerisinde bulunmaktadır.VooDoo Studio içerisinde bulunan Kod Adımı > Aksiyon > Bileşen Şablon Tipi > MLNET seçeneğinde bir kod adımı geliştirilmesi halinde ML.Net kütüphaneleri kod adımınıza dahil edilecektir. Kütüphanelerde oluşabilecek problemler için ilgili kitaplıkları;
NuGet sitesi aracılığı ile indirebilirsiniz ve VooDoo Studio Projenize dahil edebilirsiniz.
VooDoo Studio Projenize ilgili kütüphaneleri dahil etmek için sırasıyla;
Gelişmiş -> Kod -> Aksiyon -> Editör Aç -> Yönet -> Dosya Referansları -> Ekle şeklinde ilerleyerek kitaplığı referans olarak gösterebilirsiniz.
2. MLContext: ML.Net Objesini Sınıfınızın içerisinde oluşturur(ML.Net ile ilgili kullanacağınız bütün fonksiyonlar bu obje altındadır)
3. DataViewSchema: Eğitilmiş olan model için boş bir veri şeması oluşturur.
4. ITransformer: Eğitilmiş verinizi, veri şemasına aktarır
Örnek #1
Aşağıdaki Örnek, “.eml” dosyasından E-Posta Eki, Konu, E-Posta Yazı İçeriğini nasıl ayrıştırılacağını gösterir.
namespace VoodooImplementation { using System; using VooDooCommonData.CommonInterface; using VooDooCommonData.InstanceData; using System.Linq; using System.IO; using Microsoft.ML.Data; using Microsoft.ML; using System.Reflection; using System.Runtime.Versioning; using OfficeOpenXml; public class ComputationEvaluator : System.MarshalByRefObject, IPlugInComputation { private bool result_; private VooDooCommonData.InstanceData.PlanDataInstanceManager planDataInstanceManager_; /// Default Constructor for class public ComputationEvaluator() { } public bool result { get { return result_; } } public virtual VooDooCommonData.InstanceData.PlanDataInstanceManager planDataInstanceManager { get { return planDataInstanceManager_; } set { planDataInstanceManager_ = value; } } /// Calculate public virtual void ExecuteComputation() { MLContext mlContext = new MLContext(); // ML objesi oluşturulur. DataViewSchema predictionPipelineSchema; ITransformer predictionPipeline = mlContext.Model.Load(@"",out predictionPipelineSchema); // ("") kısımlı bölüme modelin bulunduğu path girilir. var predEngine = mlContext.Model.CreatePredictionEngine <ModelInput, ModelOutput>(predictionPipeline); using(var outStream = File.Open(@"",FileMode.Create, FileAccess.Write)) // Yazılabilir izinleri ile bir Excel Dosyası oluşturur. { using(ExcelPackage xl = new ExcelPackage(outStream)) { // Bu Kısımda Model sonuçlarını Excel Dosyasındaki ilgili alanlara yazım işlemi gerçekleşir. ExcelWorksheet worksheet = xl.WorkBook.Worksheets.Add("Sayfa1"); // Çalışma Sayfası Oluşturulduğu kısım. for(int i=1; i < 11; i++) { ModelInput inputData = new ModelInput(){ ImageSource = @""+i+".jpg", }; ModelOutput predictionResult = preEngine.Predict(inputData); worksheet.Cells[i,1].Value = predictionResult.PredictedLabel; worksheet.Cells[i,1].Value = predictionResult.Score; xl.Save(); } } } result_ = true; } } /* * * Model Input/Output Property(Model) sınıfları aşağıdaki gibidir. * */ public class ModelInput { public string Label {get; set;} public string ImageSource {get; set;} } public class ModelOutput { public string PredictedLabel {get; set;} public string Score {get; set;} } }