ServBay'da SCWS PHP Modülü Nasıl Etkinleştirilir ve Yapılandırılır
ServBay, macOS ve Windows üzerinde çalışan güçlü bir yerel web geliştirme ortamıdır. PHP, Node.js, Python, Go, Java gibi birçok programlama dilini ve MySQL, PostgreSQL, MongoDB, Redis gibi veri tabanlarını entegre bir şekilde sunar. Ayrıca Caddy ve Nginx gibi web sunucularını da destekler. Çince metin işleme gereksinimi olan PHP geliştiricileri için ServBay, yüksek performanslı SCWS (Simple Chinese Word Segmentation) Çince kelime ayrıştırma modülünü önceden kurulu olarak getirir ve kurulumu son derece kolaydır.
Bu belgede ServBay üzerinde SCWS PHP uzantısının nasıl etkinleştirileceği, sözlük dosyasının nasıl yapılandırılacağı ve örnek kodlarla temel kullanımın nasıl gerçekleştirileceği detaylı şekilde anlatılır.
SCWS Modülüne Genel Bakış
SCWS, yüksek performansı ve doğruluğu ile öne çıkan açık kaynaklı bir Çince kelime ayrıştırma motorudur. Sözlük tabanlı eşleştirme ile istatistiksel modellerin birleşimini kullanan SCWS; Çince metinleri hızlı ve doğru bir şekilde ayrıştırarak arama motorları, metin madenciliği, içerik analizi, anahtar kelime çıkarma ve sözcük türü etiketleme gibi birçok uygulamada kullanılabilir.
Temel Özellikler
- Yüksek Performanslı Ayrıştırma: SCWS, optimize edilmiş algoritması sayesinde büyük ölçekli Çince metinleri hızlıca işleyebilir.
- Yüksek Doğruluk Oranı: Sözlük ve istatistiksel model entegrasyonu, ayrıştırmada yüksek doğruluk sağlar.
- Zengin Özellikler: Temel ayrıştırmaya ek olarak anahtar kelime çıkarma, sözcük türü etiketleme gibi gelişmiş fonksiyonları destekler.
- Kolay Entegrasyon: Basit API arayüzü sayesinde PHP uygulamalarına kolayca entegre edilebilir.
- Açık Kaynak ve Ücretsiz: SCWS ücretsizdir ve ihtiyaca göre özelleştirilebilir.
ServBay'da Dahili SCWS Sürümü
ServBay, birden fazla PHP sürümünü destekler ve her sürüm için uyumlu SCWS modülünü önceden kurulu olarak sunar. Bu belge hazırlandığında, PHP 5.6'dan PHP 8.4'e uzanan tüm sürümlerde SCWS 1.2.3 uzantısı hazırdır.
SCWS Modülünü Nasıl Etkinleştirirsiniz?
Varsayılan olarak, ServBay'da SCWS modülü devredışıdır. Modülü etkinleştirmenin iki temel yolu vardır: ServBay'ın grafik arayüzünü ya da el ile yapılandırma dosyasını kullanmak.
Tavsiye Edilen Yöntem: ServBay Arayüzü ile Etkinleştirme
En kolay ve hızlı yöntem sırasıyla:
- ServBay ana arayüzünü açın.
- Sol menüde Languages (Diller) seçeneğine, ardından PHP'ye tıklayın.
- Sağdaki PHP sürüm listesinden SCWS’i etkinleştirmek istediğiniz PHP sürümünü seçin (örn.
PHP 8.4
). - İlgili PHP sürümüne ait Extensions (Uzantılar) düğmesine basın.
- Açılan listede
SCWS
modülünü bulun. SCWS
modülünün solundaki anahtarı açık konuma getirin (genelde yeşil olur).- Pencerenin altından Save (Kaydet) butonuna tıklayın.
- Değişikliklerin etkili olması için ServBay, PHP paketinizi tekrar başlatmanızı ister. Restart (Yeniden Başlat) düğmesine tıklayın.
Bu adımları tamamladığınızda seçilen PHP sürümü için SCWS modülü etkinleştirilmiş olur.
El ile Yapılandırma Dosyası Düzenleyerek Etkinleştirme (Gelişmiş/Kontrol Amaçlı)
Daha detaylı kontrol veya sorun giderme gerekirse PHP'nin yapılandırma dosyasını düzenleyebilirsiniz:
Yapılandırma Dosyasını Bulun: İlgili PHP sürümünün
conf.d
dizininde SCWS’ye aitscws.ini
dosyasını bulun. Yol genelde şöyledir:/Applications/ServBay/etc/php/X.Y/conf.d/scws.ini
1Buradaki
X.Y
kısmını kullandığınız PHP sürümüyle değiştirin (örn.8.4
).scws.ini
Dosyasını Düzenleyin: Bir metin düzenleyici ilescws.ini
dosyasını açın. Şu satırları bulun:ini[scws] ; Uncomment the following line to enable scws ;extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5SCWS'i etkinleştirmek için başındaki
;
işaretini kaldırın:ini[scws] ; Uncomment the following line to enable scws extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5(İsteğe bağlı) Burada karakter seti ve sözlük yolunu tanımlayabilirsiniz; çoğu zaman PHP kodunda dinamik olarak tanımlamak önerilir. Buradan ayarlayacaksanız, satır başındaki yorum işaretini kaldırıp uygun şekilde düzenleyin. Mesela UTF-8 kodlu bir sözlük için:
ini[scws] ; Uncomment the following line to enable scws extension = scws.so scws.default.charset = utf8 scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5Kaydedip dosyayı kapatın.
PHP Paketini Yeniden Başlatın: ServBay ana arayüzünden Packages (Paketler) bölümüne gidin, değiştirdiğiniz PHP sürümünü bulun ve sağındaki yeniden başlat düğmesine (yuvarlak ok simgesi) tıklayın.
SCWS Modülünün Başarıyla Yüklendiğini Nasıl Kontrol Edersiniz?
Modülünü etkinleştirdikten sonra düzgün yüklenip yüklenmediğini doğrulamak önemlidir. En yaygın yöntem PHP'nin phpinfo()
çıktısını incelemektir:
- ServBay'da önerilen web sitesi ana dizininde (genellikle
/Applications/ServBay/www
) test için yeni bir alt klasör oluşturun (örn.scws-test
). - Bu alt klasörde (
/Applications/ServBay/www/scws-test
)phpinfo.php
isimli bir dosya oluşturun. - Aşağıdaki PHP kodunu dosyaya kopyalayın:php
<?php phpinfo(); ?>
1
2
3 - ServBay’ın web sunucusunu (Caddy veya Nginx gibi) yapılandırıp çalışır durumda olduğundan emin olun ve
/Applications/ServBay/www
yolundan erişilebildiğini kontrol edin. ServBay, varsayılan olarak bu diziniservbay.demo
alan adına yönlendirir. - Tarayıcınızda
https://servbay.demo/scws-test/phpinfo.php
adresini ziyaret edin. - Açılan PHP bilgi sayfasında "SCWS" başlıklı bölümü arayın. SCWS ile ilgili yapılandırmaları ve sürüm bilgilerini görüyorsanız, modül başarıyla yüklenmiş demektir.
(Not: Görsel yolu örnektir, lütfen ServBay belgesindeki güncel görseli kontrol edin)
SCWS Sözlüğü Nasıl Oluşturulur ve Yapılandırılır?
SCWS, sözlük tabanlı bir kelime ayrıştırma motorudur; dolayısıyla ayrıştırma kalitesi kullanılan sözlükle doğrudan bağlantılıdır. ServBay, /Applications/ServBay/etc/scws
dizininde SCWS’nin varsayılan sözlük ve kural dosyalarını bulundurur. İsterseniz kendi özel sözlüklerinizi oluşturabilirsiniz.
SCWS Sözlük Dosya Formatı
SCWS, normal metin dosyası veya xdb uzantılı ikili sözlük dosyalarını destekler. XDB formatı daha hızlı yüklenir ve daha az bellek kullanır; önerilen formattır.
Metin sözlük dosya örneği: Her satır bir kelime, isteğe bağlı olarak frekans ve sözcük türü ile birlikte yazılır.
Kelime1 [Frekans1] [Tür1]
Kelime2 [Frekans2] [Tür2]
...
1
2
3
2
3
Örnek:
Yapay Zeka 1000 n
Doğal Dil İşleme 800 n
ServBay 500 nz
1
2
3
2
3
Özel kelimelerinizi örneğin my_dict.txt
isimli bir dosyaya UTF-8 kodlamasıyla kaydedin.
xdb Sözlük Dosyası Nasıl Oluşturulur?
ServBay, SCWS’nin sunduğu scws-gen-dict
aracını hazır olarak sunar; bu araç metin sözlüklerini xdb formatına dönüştürür.
- macOS Terminal uygulamasını açın.
cd
komutuyla ServBay'ın bin klasörüne gidin veyascws-gen-dict
komutunun tam yolunu kullanın. Genellikte şu şekilde çalıştırabilirsiniz:bash/Applications/ServBay/bin/scws-gen-dict -i /path/to/your/my_dict.txt -o /Applications/ServBay/etc/scws/my_dict.utf8.xdb -c utf8
1/path/to/your/my_dict.txt
kısmını kendi sözlük dosyanızla değiştirin.-o
ile çıktı dosyası ve yolunu belirleyebilirsiniz (varsayım olarak/Applications/ServBay/etc/scws
).-c utf8
ile giriş dosyasının kodlamasını belirtirsiniz.
SCWS'nin Sözlük Dosyasını Kullanmasını Nasıl Ayarlarsınız?
xdb dosyasını oluşturduktan sonra, PHP kodunda SCWS’ye bu dosyayı kullanmasını söyleyebilirsiniz:
php
<?php
$scws = scws_new();
$scws->set_charset('utf8'); // Karakter setini belirleyin; sözlük dosyasıyla uyumlu olmalı
// Ana sözlük yolunu ayarlayın (ServBay’ın varsayılan ya da kendi xdb dosyanız)
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// Birden fazla sözlük varsa ek olarak yükleyebilirsiniz
$scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT); // SCWS_XDICT_TXT: Kullanıcı sözlüğü olarak ekler
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini'); // Kural dosyası (sözcük türü için) ServBay’da hazırdır
// ... Ayrıştırma işlemlerine devam edin ...
?>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
set_dict()
, ana (Resmi SCWS) sözlüğü yükler. add_dict()
, sizin özel sözlüğünüzü ekler. SCWS_XDICT_TXT
sabiti kullanıcı ek sözlükler içindir.
SCWS Kullanımına Dair Örnek
SCWS modülünü aktifleştirip sözlükleri ayarladıktan sonra PHP kodunuzda SCWS fonksiyonlarını kullanarak ayrıştırma yapabilirsiniz. İşte temel bir örnek:
php
<?php
// SCWS uzantısı yüklü mü kontrol edin
if (!extension_loaded('scws')) {
die('SCWS uzantısı yüklenmedi.');
}
// SCWS nesnesini başlatın
$scws = scws_new();
if (!$scws) {
die('SCWS başlatılamadı.');
}
// Karakter setini ayarlayın (metin ve sözlükle uyumlu olmalı)
$scws->set_charset('utf8');
// Sözlük dosyasını belirtin (ServBay varsayılan yol)
// set_dict() ana sözlük içindir
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// add_dict() ile kullanıcı sözlüğü ekleyebilirsiniz
// $scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT);
// Kural dosyasını (ServBay varsayılan yolu) ayarlayın; sözcük türü için
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini');
// Ayrıştırma modu (isteğe bağlı, varsayılan SCWS_XDICT_XPINYIN | SCWS_XDICT_DUALITY)
// SCWS_XDICT_XPINYIN: x karakterlerini böler (Çince olmayan karakterler), örn. e-posta, url
// SCWS_XDICT_DUALITY: bileşik ayrıştırma (ikili ayrıştırma)
// $scws->set_ignore(true); // Noktalama işaretlerini dikkate alma ayarı
// $scws->set_multi(SCWS_MULTI_WORD | SCWS_MULTI_ZHONGCI); // Bileşik ayrıştırma seviyesi
// Ayrıştırılacak Çince metin
$text = "ServBay, PHP, Node.js ve çeşitli veri tabanlarını destekleyen güçlü bir yerel web geliştirme ortamıdır.";
// Metni SCWS’ye gönder
$scws->send_text($text);
// Sonuçları al
echo "Orijinal metin: " . $text . "\n\n";
echo "Ayrıştırma sonuçları:\n";
// Tüm ayrıştırma sonuçlarını döngüyle al
while ($result = $scws->get_result()) {
foreach ($result as $word) {
// $word ilişkilendirilmiş bir dizi ('word', 'idf', 'attr' gibi anahtarlar içerir)
echo "Kelime: " . $word['word'] . " (Türü: " . $word['attr'] . ")\n";
}
}
// SCWS kaynaklarını boşalt
$scws->close();
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Bu kodu .php
(örn. scws_example.php
) olarak kaydedip ServBay’ın web dizinine (örn. /Applications/ServBay/www/scws-test/
) atın. Tarayıcıdan https://servbay.demo/scws-test/scws_example.php
adresine giderek ayrıştırma çıktılarını görebilirsiniz.
Dikkat Edilecekler
- Etkinleştirdiğiniz SCWS modülünün, kullandığınız PHP sürümüyle uyumlu olduğundan emin olun. ServBay uyumluluğu genellikle sağlamıştır; manuel değişikliklerde dikkatli olun.
- Ayrıştırma kalitesi kullandığınız sözlükle doğrudan ilgilidir. Alanınıza özel metinler için sektörel sözlükler oluşturmanız veya kullanmanız tavsiye edilir.
- SCWS yapılandırma dosyası (
scws.ini
), sözlük dosyası (.xdb
) ve kural dosyasının (.ini
) yol ayarlarının doğru olduğundan ve PHP sürecinin bunlara okuma izni bulunduğundan emin olun. - PHP yapılandırmasında değişiklik yaptıktan sonra ilgili PHP paketini mutlaka yeniden başlatın.
Sık Sorulan Sorular (SSS)
S: ServBay arayüzünden SCWS’i açtım ama phpinfo()
'da görmüyorum, neden?
C: Doğru PHP paketini gerçekten yeniden başlattığınızdan emin olun. Birden fazla PHP sürümü çalışabilir, web sitenizle ilişkili olanı yeniden başlatmalısınız. Sorun devam ederse el ile scws.ini
dosyasını düzenleyin ve dosya yolu ile sözdizimini dikkatlice kontrol edin.
S: Nasıl özel sözlük oluşturup kullanabilirim?
C: Bu belgedeki "SCWS Sözlüğü Nasıl Oluşturulur ve Yapılandırılır" başlığına bakın; scws-gen-dict
aracı ile metin sözlüklerinizi xdb formatına dönüştürün ve PHP kodunuzda add_dict()
ile yükleyin.
S: SCWS kural dosyası (rules.utf8.ini
) ne işe yarar?
C: Kural dosyası sözcük türü etiketleme ve özel ayrıştırma kuralları içindir. ServBay varsayılan bir dosya ile gelmektedir, genellikle değiştirmenize gerek yoktur.
Sonuç
ServBay, geliştiricilere SCWS PHP Çince kelime ayrıştırma modülünü etkinleştirip yönetmek için pratik bir yol sunar. Hem sezgisel grafik arayüzüyle hem de esnek manuel yapılandırma olanaklarıyla SCWS’i PHP geliştirme sürecine kolayca entegre edebilirsiniz. ServBay’ın sunduğu hazır SCWS araçları ve sözlükleriyle hızlı başlangıç yapabilir, SCWS’nin yüksek performansından ve doğruluğundan faydalanabilirsiniz. Arama, içerik analizi ve diğer web uygulamalarınız için ServBay’daki SCWS entegrasyonu; yerel geliştirme ortamının kapsamını ve pratikliğini en üst seviyeye taşır.