Doğal Dil İşleme (NLP) projelerinde Hugging Face modelleri, güçlü dil anlayışı ve üretim yetenekleri sunarak büyük kolaylık sağlar. Bu yazıda, Hugging Face’de mevcut olan bir NLP modelinin nasıl kullanılacağını ve modelin bir web arayüzü ile nasıl entegre edileceğini adım adım inceleyeceğiz.
1. Hugging Face Nedir?
Hugging Face, NLP için geliştirilen açık kaynaklı modelleri barındıran bir platformdur. Özellikle Transformers kütüphanesi sayesinde kullanıcılar, büyük dil modellerini hızlıca uygulamalarına entegre edebilirler. GPT, BERT, T5 gibi modeller, farklı doğal dil işleme görevlerinde kullanabileceğiniz popüler seçeneklerdir.
2. Model Seçimi ve Kurulum
İlk adım olarak Hugging Face’deki modellerden projenize uygun olanını seçmeniz gerekecek. Örneğin, Türkçe dil işleme üzerine çalışıyorsanız, BERTurk veya BLOOM gibi modelleri tercih edebilirsiniz. Şimdi, bir Hugging Face modeli kullanmak için Python ile nasıl bir kurulum yapılacağını görelim:
Adım 1: Hugging Face ve Transformers kütüphanelerini yükleyin
Terminal üzerinden aşağıdaki komutları kullanarak gerekli kütüphaneleri yükleyebilirsiniz:
pip install transformers
pip install torch # PyTorch backend kullanacaksanız
Adım 2: Model ve Tokenizer’ı İndirin
Seçtiğiniz modeli ve onun tokenizasyon işlemi için gerekli tokenizer’ı şu şekilde indirebilirsiniz:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# Modelin adını Hugging Face sayfasından alabilirsiniz
model_name = "dbmdz/bert-base-turkish-cased"
# Tokenizer ve modelin yüklenmesi
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
Bu adımda model başarıyla indirilecek ve kullanıma hazır hale gelecektir.
3. Modelin Kullanımı
Şimdi bu modeli bir örnek cümle üzerinde test edelim:
import torch
# Örnek bir cümleyi token haline getirme
inputs = tokenizer("Bu bir deneme cümlesidir.", return_tensors="pt")
# Modeli çalıştırma ve tahmin sonuçlarını alma
with torch.no_grad():
outputs = model(**inputs)
print(outputs)
Bu kod parçası, örnek cümleniz için modelin çıkardığı sonuçları gösterecektir.
4. Flask ile Basit Bir Web Arayüzü Oluşturma
Hugging Face modelinizi bir web uygulamasıyla entegre etmek için Flask gibi basit bir web framework’ü kullanabilirsiniz. Aşağıda, Flask ile Hugging Face modeli nasıl bir arayüz ile çalıştırılır göstereceğiz.
Adım 1: Flask’i Yükleyin
pip install Flask
Adım 2: Flask Uygulaması Oluşturma
Basit bir Flask uygulaması oluşturarak kullanıcıların bir form aracılığıyla cümle girmesini sağlayabilir ve bu cümleleri Hugging Face modeline gönderip analiz ettirebilirsiniz.
from flask import Flask, request, render_template
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
app = Flask(__name__)
# Model ve tokenizer yükleme
model_name = "dbmdz/bert-base-turkish-cased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
user_input = request.form["text"]
inputs = tokenizer(user_input, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
result = outputs.logits.argmax().item()
return render_template("index.html", result=result)
return render_template("index.html", result=None)
if __name__ == "__main__":
app.run(debug=True)
Adım 3: HTML Arayüzü
index.html
dosyasını aşağıdaki gibi oluşturabilirsiniz. Bu sayede kullanıcılar metin girerek modeli kullanabilecekler.
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Türkçe Metin Analizi</title>
</head>
<body>
<h1>Metin Analiz Aracı</h1>
<form method="POST">
<textarea name="text" rows="4" cols="50"></textarea><br>
<input type="submit" value="Analiz Et">
</form>
{% if result is not none %}
<h2>Sonuç: {{ result }}</h2>
{% endif %}
</body>
</html>
Hugging Face’deki bir modeli indirip Python ile nasıl çalıştırabileceğinizi ve Flask aracılığıyla bir web arayüzüne nasıl entegre edebileceğinizi gördük. Hugging Face’in sunduğu geniş model yelpazesi ve kolay kullanım sayesinde NLP projelerinizi hızla geliştirebilir, kullanıcı dostu web arayüzleriyle modellerinizi paylaşabilirsiniz.