Yazı: Clickbait Tespiti İçin Hobi Projesi: Yemi-Yeme
İlk olarak pom.xml dosyasına spark-mllib_2.11 bağımlılığı eklenir.
Apache Spark kullanılarak üretilen model, klasör yapısında kaydedilmektedir. Bu klasör yapısında Apache Spark'ın ihtiyaç duyduğu bilgiler yer almaktadır. Modeli kullanmak için yapılması gereken, klasör yolunun parametre olarak verilmesidir.
application.yml konfigurasyon dosyasında, app.model-path keyi ile modelin bulunduğu klasör pathi belirtilmiştir.
Spark Context ve model SparkConfig sınıfında oluşturulmuştur.
ClickbaitService, haber başlığından özellik çıkarımı ve makine öğrenmesi modelini kullanarak sınıf tahmin etme işlerini yapmaktadır.
Gelen haber başlığından özellik çıkarımı işlemi, prizma paketinde, Prizma programının kaynak kodları aracılığıyla yapılmaktadır. Ayırt edici olarak tespit edilen özellikler, PrizmaFeature sınıfı kullanılarak sarmalanmıştır. Sınıf etiketleri enum olarak tutulmaktadır.
ClickbaitRestController temel olarak şu işleri yapmaktadır:
Haber başlığını parametre olarak al.
Haber başlığının özelliklerini çıkar.
Modele sorgu gerçekleştir.
Sorgu sonucunu dön. (CLICKBAIT / NOT CLICKBAIT)
@GetMapping
public String test(@RequestParam String source) {
final PrizmaFeature prizmaFeature = clickbaitService.createNewsFeature(source);
final NewsLabel predict = clickbaitService.predict(prizmaFeature);
return predict.getNewsLabel();
}