İçindekiler Tablosu
- Genel Bakış
- Sözlük
- Kurulum
- VooDoo'ya Başlarken
- Lisanslama İşlemleri
- 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;}
}
}