Azure Bilişsel Arama dizinindeki dize alanlarına dil Çözümleyicileri ekleme
Dil çözümleyici , hedef dilin dil kurallarını kullanarak sözlü analiz gerçekleştiren belirli bir metin Çözümleyicisi türüdür. Her aranabilir dize alanının bir çözümleyici özelliği vardır. İçeriğiniz, Ingilizce ve Çince metin için ayrı alanlar gibi çevrilmiş dizelerinden oluşuyorsa, her bir alanda bu çözümleyiciler için zengin dil özelliklerine erişmek üzere dil Çözümleyicileri belirtebilirsiniz.
Dil Çözümleyicisi ne zaman kullanılır?
Sözcük veya tümce yapısının bir değeri, metin ayrıştırmaya değer eklediğinde bir dil Çözümleyicisi göz önünde bulundurmanız gerekir. Yaygın olarak kullanılan bir örnek, düzensiz fiil formlarının ("getir" ve "getirilen) ya da çoğul isimler (" fareler "ve" fare ") ilişkidir. Dil tanıma olmadan, bu dizeler tek başına fiziksel özelliklerle ayrıştırılır ve bu da bağlantıyı yakalayamaz. Büyük metin öbeklerinin bu içeriğe sahip olması daha olası olduğundan, açıklamalardan, incelemelerden veya özetlerden oluşan alanlar bir dil çözümleyici için iyi adaylardır.
Ayrıca, içerik Batı dili olmayan dizeler içeriyorsa dil Çözümleyicileri de göz önünde bulundurmanız gerekir. Varsayılan çözümleyici (Standart Lucene) dilden bağımsız olduğu sürece, dizeleri ayırmak için boşluk ve özel karakterler (tireler ve eğik çizgiler) kullanma kavramı, Batı dillerinin Batı dışındaki dillerde daha uygulanabilir.
Örneğin, Çince, Japonca, Korece (ÇJK) ve diğer Asya dillerinde, bir boşluk bir sözcük sınırlayıcısı değildir. Aşağıdaki Japonca dizeyi göz önünde bulundurun. Boşluk içermediğinden, dilden bağımsız bir çözümleyici dizenin tamamını bir belirteç olarak analiz eder, aslında dize aslında bir tümceciktir.
これは私たちの銀河系の中ではもっとも重く明るいクラスの球状星団です。
(This is the heaviest and brightest group of spherical stars in our galaxy.)
Yukarıdaki örnekte, başarılı bir sorgunun tam belirteci içermesi veya bir sonek joker karakteri kullanan kısmi bir belirteç içermesi gerekir, bu, doğal olmayan ve sınırlı arama deneyimine neden olur.
Her bir kelime aramak için daha iyi bir deneyim vardır: 明るい (parlak), 私たちの (), 銀河系 (Galaxy). Bilişsel Arama bulunan Japonca çözümleyiciler kullanmanın, bu çözümleyicilerin metin öbeğini hedef dilde anlamlı sözcüklere bölmek daha iyi donatılmış olduğundan, bu davranışın kilidini açmak daha yüksektir.
Lucene ve Microsoft Çözümleyicileri karşılaştırması
Azure Bilişsel Arama, Office ve Bing ' de kullanılan özel Microsoft doğal dil işleme teknolojisi tarafından desteklenen Lucene 35 dil çözümleyicileri ve 50 dil çözümleyicileri destekler.
Bazı geliştiriciler, Lucene 'in daha tanıdık, basit ve açık kaynaklı çözümünü tercih edebilir. Lucene dil Çözümleyicileri daha hızlıdır, ancak Microsoft Çözümleyicileri, Microsoft çözümleyicilerinin (Almanca, Danca, Felemenkçe, Isveççe, Norveççe, Estonca, son, Macarca, Slovakça) ve varlık tanıma (URL 'Ler, e-postalar, tarihler, sayılar) gibi gelişmiş özellikleri vardır. Mümkünse, hangisinin daha iyi bir şekilde uygun olduğuna karar vermek için hem Microsoft hem de Lucene Çözümleyicileri için karşılaştırmalar çalıştırmalısınız. Belirli bir çözümleyici kullanarak belirli bir metinden oluşturulan belirteçleri görmek için, Çözümleme API 'sini kullanabilirsiniz.
Microsoft Çözümleyicileri ile dizin oluşturma, dile bağlı olarak, Lucene eşdeğerlerine kıyasla ortalama iki ile üç kat daha yavaştır. Ara performans, ortalama boyut sorgularında önemli ölçüde etkilenmemelidir.
İngilizce çözümleyiciler
Varsayılan çözümleyici, Ingilizce 'nin yanı sıra Lucene 'in Ingilizce Çözümleyicisi veya Microsoft 'un Ingilizce Çözümleyicisi için iyi bir şekilde çalışacak standart Lucene ' dir.
Lucene 'ın Ingilizce Çözümleyicisi standart çözümleyici 'yi genişletiyor. Sözcüklerdeki iyelik (sondaki) ' ı kaldırır, her Porter için sözcük kökü karartma algoritması olarak sözcük kökü ayırmayı uygular ve Ingilizce durdurma sözcüklerini kaldırır.
Microsoft 'un Ingilizce Çözümleyicisi, sözcük kökü ayırmayı yerine katileştirme gerçekleştirir. Bu, daha fazla ilgili arama sonuçlarıyla sonuçlanarak ve düzensiz Word formlarının çok daha iyi işleyebileceği anlamına gelir
Dil Çözümleyicisi belirtme
Veri ile yüklenmeden önce, dizin oluşturma sırasında çözümleyici 'yi ayarlayın.
Alan tanımında, alanın "aranabilir" olduğundan ve Edm. String türünde olduğundan emin olun.
"Çözümleyici" özelliğini desteklenen çözümleyiciler listesindendil Çözümleyicileri ' nden birine ayarlayın.
"Analyzer" özelliği, dil Çözümleyicisi 'ni kabul edecek tek özelliktir ve hem dizin oluşturma hem de sorgular için kullanılır. Çözümleyici ile ilgili diğer Özellikler ("searchAnalyzer" ve "ındexanalyzer"), dil Çözümleyicisi 'ni kabul etmez.
Dil Çözümleyicileri özelleştirilemiyor. Bir çözümleyici gereksinimlerinizi karşımıyorsa, microsoft_language_tokenizer veya microsoft_language_stemming_tokenizer özel bir çözümleyici oluşturmayı deneyebilir ve simgeleştirme öncesi ve sonrası işleme için filtre ekleyebilirsiniz.
Aşağıdaki örnek, bir dizinde dil Çözümleyicisi belirtimini göstermektedir:
{
"name": "hotels-sample-index",
"fields": [
{
"name": "Description",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "en.microsoft",
"indexAnalyzer": null,
"searchAnalyzer": null
},
{
"name": "Description_fr",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "fr.microsoft",
"indexAnalyzer": null,
"searchAnalyzer": null
},
Dizin oluşturma ve alan özelliklerini ayarlama hakkında daha fazla bilgi için bkz. Dizin oluşturma (REST). Metin analizi hakkında daha fazla bilgi için bkz. Azure bilişsel arama Çözümleyicileri.
Desteklenen dil Çözümleyicileri
Aşağıda, Lucene ve Microsoft çözümleyici adlarıyla desteklenen dillerin listesi verilmiştir.
| Dil | Microsoft Çözümleyicisi adı | Lucene çözümleyici adı |
|---|---|---|
| Arapça | ar. Microsoft | ar. Lucene |
| Ermenice | HY. Lucene | |
| Bangla | milyar TL. Microsoft | |
| Baskça | AB. Lucene | |
| Bulgarca | bg. Microsoft | bg. Lucene |
| Katalanca | CA. Microsoft | CA. Lucene |
| Basitleştirilmiş Çince | zh-Hans. Microsoft | zh-Hans. Lucene |
| Geleneksel Çince | zh-Hant. Microsoft | zh-Hant. Lucene |
| Hırvatça | HR. Microsoft | |
| Çekçe | CS. Microsoft | CS. Lucene |
| Danca | da. Microsoft | da. Lucene |
| Felemenkçe | nl. Microsoft | nl. Lucene |
| İngilizce | en. Microsoft | en. Lucene |
| Estonya Dili | et. Microsoft | |
| Fince | Fi. Microsoft | Fi. Lucene |
| Fransızca | fr. Microsoft | fr. Lucene |
| Galiçya Dili | GL. Lucene | |
| Almanca | de Microsoft | de. Lucene |
| Yunanca | El. Microsoft | El. Lucene |
| Gucerat dili | Gu. Microsoft | |
| İbranice | BT. Microsoft | |
| Hintçe | Merhaba. Microsoft | Merhaba. Lucene |
| Macarca | Hu. Microsoft | Hu. Lucene |
| İzlandaca | . Microsoft | |
| Endonezya dili (Bahasa) | kimliği. Microsoft | ID. Lucene |
| İrlandaca | ga. Lucene | |
| İtalyanca | BT. Microsoft | BT. Lucene |
| Japonca | Ja. Microsoft | Ja. Lucene |
| Kannada dili | KN. Microsoft | |
| Korece | Ko. Microsoft | Ko. Lucene |
| Letonca | LV. Microsoft | LV. Lucene |
| Litvanca | lt. Microsoft | |
| Malayalam dili | ml. Microsoft | |
| Malay dili (Latin) | MS. Microsoft | |
| Marathi | Mr. Microsoft | |
| Norveççe | NB. Microsoft | Hayır. Lucene |
| Farsça | FA. Lucene | |
| Lehçe | pl. Microsoft | pl. Lucene |
| Portekizce (Brezilya) | pt-br. Microsoft | pt-br. Lucene |
| Portekizce (Portekiz) | PT-PT. Microsoft | PT-PT. Lucene |
| Pencap dili | PA. Microsoft | |
| Rumence | ro. Microsoft | ro. Lucene |
| Rusça | ru. Microsoft | ru. Lucene |
| Sırpça (Kiril) | SR-Kiril. Microsoft | |
| Sırpça (Latin) | SR-Latin. Microsoft | |
| Slovakça | SK. Microsoft | |
| Slovence | SL. Microsoft | |
| İspanyolca | es. Microsoft | es. Lucene |
| İsveççe | ZF. Microsoft | ZF. Lucene |
| Tamil dili | ta. Microsoft | |
| Telugu dili | te. Microsoft | |
| Tayca | TH. Microsoft | TH. Lucene |
| Türkçe | tr. Microsoft | tr. Lucene |
| Ukraynaca | UK. Microsoft | |
| Urduca | . Microsoft | |
| Vietnamca | Vi. Microsoft |
Lucene ile açıklama eklenmiş adlara sahip tüm çözümleyiciler Apache Lucene 'in dil Çözümleyicileritarafından desteklenir.