Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Konuşma tanımayı ve metin okuma özelliğini (TTS veya konuşma sentezi olarak da bilinir) doğrudan uygulamanızın kullanıcı deneyimiyle tümleştirin.
Konuşma tanıma Konuşma tanıma, kullanıcı tarafından söylenen sözcükleri form girişi, metin diktesi, eylem veya komut belirtmek ve görevleri gerçekleştirmek için metne dönüştürür. Hem serbest metin diktesi hem de web araması için önceden tanımlanmış dil bilgisi ve Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0 kullanılarak yazılan özel dil bilgileri desteklenir.
TTS TTS, bir metin dizesini konuşulan sözcüklere dönüştürmek için bir konuşma sentezi altyapısı (ses) kullanır. Giriş dizesi temel, süslenmemiş metin veya daha karmaşık konuşma sentezi biçimlendirme dili (SSML) olabilir. SSML, konuşma çıkışının telaffuz, ses düzeyi, ses düzeyi, hız veya hız ve vurgu gibi özelliklerini denetlemek için standart bir yol sağlar.
Konuşmayla ilgili diğer bileşenler:Windows uygulamalarında Cortana, uygulamanızı ön planda başlatmak için özelleştirilmiş sesli komutları (konuşulan veya yazılan) kullanır (uygulama, başlat menüsünden başlatılmış gibi odağı alır) veya bir arka plan hizmeti olarak etkinleştirilir (Cortana odağı korur ancak uygulamadan sonuçlar sağlar). Bkz. Windows uygulamalarında Cortana etkileşimleri.
Konuşma etkileşimi tasarımı
Düşünceli bir şekilde tasarlanan ve uygulanan konuşma, kişilerin uygulamanızla etkileşim kurması, klavye, fare, dokunma ve hareketleri tamamlaması, hatta değiştirmesi için sağlam ve eğlenceli bir yol olabilir.
Bu yönergeler ve öneriler, hem konuşma tanımayı hem de TTS'yi uygulamanızın etkileşim deneyimiyle en iyi şekilde tümleştirmeyi açıklar.
Uygulamanızda konuşma etkileşimlerini desteklemeyi düşünüyorsanız:
- Konuşma yoluyla hangi eylemler yapılabilir? Bir kullanıcı sayfalar arasında gezinebilir, komutları çağırabilir veya metin alanları, kısa notlar veya uzun iletiler olarak veri girebilir mi?
- Konuşma girişi bir görevi tamamlamak için iyi bir seçenek mi?
- Kullanıcı konuşma girişinin ne zaman kullanılabilir olduğunu nasıl bilir?
- Uygulama her zaman dinliyor mu yoksa kullanıcının dinleme moduna girmesi için bir işlem gerçekleştirmesi mi gerekiyor?
- Hangi ifadeler eylem veya davranış başlatır? İfadelerin ve eylemlerin ekranda numaralandırılması gerekiyor mu?
- İstem, onay ve kesinleştirme ekranları veya TTS gerekli mi?
- Uygulama ile kullanıcı arasındaki etkileşim diyaloğu nedir?
- Uygulamanızın bağlamı için özel veya kısıtlanmış bir sözcük dağarcığı (tıp, bilim veya yerel ayar gibi) gerekli mi?
- Ağ bağlantısı gerekli mi?
Metin girişi
Metin girişi için konuşma kısa formdan (tek sözcük veya tümcecik) uzun forma (sürekli dikte) kadar değişebilir. Kısa form girişi 10 saniyeden kısa, uzun form girişi oturumu ise iki dakikaya kadar uzunluğunda olabilir. (Uzun form girişi, sürekli dikte izlenimi vermek için kullanıcı müdahalesi olmadan yeniden başlatılabilir.)
Konuşma tanımanın kullanıcı tarafından desteklendiğini ve kullanılıp kullanılamadığını ve kullanıcının bunu açması gerekip gerekmediğini belirtmek için görsel bir ipucu sağlamalısınız. Örneğin, hem kullanılabilirliği hem de durumu göstermek için mikrofon karakteri içeren bir komut çubuğu düğmesi (bkz . Komut çubukları) kullanılabilir.
Tanıma gerçekleştirilirken görünen yanıt eksikliğini en aza indirmek için devam eden tanıma geri bildirimi sağlayın.
Kullanıcıların klavye girişi, kesinleştirme istemleri, öneriler veya ek konuşma tanıma kullanarak tanıma metnini gözden geçirmesine izin verin.
Konuşma tanıma dışında dokunmatik veya klavye gibi bir cihazdan giriş algılanırsa tanımayı durdurun. Bu, büyük olasılıkla kullanıcının tanıma metnini düzeltme veya diğer form alanlarıyla etkileşim kurma gibi başka bir göreve taşındığını gösterir.
Konuşma girişinin tanımanın sona erdiğini gösterdiği süreyi belirtin. Genellikle kullanıcının uygulamanızla etkileşime geçmediğini gösterdiğinden, bu süre sonunda tanımayı otomatik olarak yeniden başlatmayın.
Tüm sürekli tanıma kullanıcı arabirimini devre dışı bırakın ve bir ağ bağlantısı yoksa tanıma oturumunu sonlandırın. Sürekli tanıma için bir ağ bağlantısı gerekir.
Komut
Konuşma girişi eylemleri başlatabilir, komutları çağırabilir ve görevleri gerçekleştirebilir.
Alan izin verirse geçerli uygulama bağlamı için desteklenen yanıtları geçerli giriş örnekleriyle görüntülemeyi göz önünde bulundurun. Bu, uygulamanızın işlemesi gereken olası yanıtları azaltır ve ayrıca kullanıcının karışıklığını ortadan kaldırır.
Sorularınızı mümkün olduğunca belirli bir yanıt olacak şekilde çerçeveli hale getirmeye çalışın. Örneğin, "Bugün ne yapmak istiyorsunuz?" çok açık bir şekilde sonlandırılır ve yanıtların ne kadar çeşitli olabileceğinden çok büyük bir dil bilgisi tanımı gerekir. Alternatif olarak, "Bir oyun oynamak mı yoksa müzik dinlemek mi istiyorsunuz?" sorusu, yanıtı karşılık gelen küçük bir dil bilgisi tanımıyla iki geçerli yanıtta kısıtlar. Küçük bir gramer yazmak çok daha kolaydır ve çok daha doğru tanıma sonuçları elde edilmesini sağlar.
Konuşma tanıma güvenilirliği düşük olduğunda kullanıcıdan onay isteyin. Kullanıcının amacı belirsizse, netlik elde etmek, istenmeyen bir eylem başlatmaktan daha iyidir.
Konuşma tanımanın kullanıcı tarafından desteklendiğini ve kullanılıp kullanılamadığını ve kullanıcının bunu açması gerekip gerekmediğini belirtmek için görsel bir ipucu sağlamalısınız. Örneğin, hem kullanılabilirliği hem de durumu göstermek için mikrofon karakteri içeren bir komut çubuğu düğmesi (bkz. Komut çubukları için yönergeler) kullanılabilir.
Konuşma tanıma anahtarı genellikle görünüm dışıysa, uygulamanın içerik alanında bir durum göstergesi görüntülemeyi göz önünde bulundurun.
Tanıma kullanıcı tarafından başlatılırsa, tutarlılık için yerleşik tanıma deneyimini kullanmayı göz önünde bulundurun. Yerleşik deneyim, istemler, örnekler, kesinleştirmeler, onaylar ve hatalar içeren özelleştirilebilir ekranlar içerir.
Ekranlar belirtilen kısıtlamalara bağlı olarak değişir:
Önceden tanımlanmış dil bilgisi (dikte veya web araması)
- Dinleme ekranı.
- Düşünme ekranı.
- Sesinizi duydunuz ekranı veya hata ekranı.
Sözcük veya tümcecik listesi veya SRGS dil bilgisi dosyası
- Dinleme ekranı.
- Söylediniz mi ekranı, kullanıcının söylediklerinin birden fazla olası sonuç olarak yorumlanabilmesi durumunda gösterilir.
- Sesinizi duydunuz ekranı veya hata ekranı.
Dinleme ekranında aşağıdakileri yapabilirsiniz:
- Başlık metnini özelleştirin.
- Kullanıcının neler söyleyebileceğine ilişkin örnek metin sağlayın.
- Söylediklerinizi duydunuz ekranının gösterilip gösterilmeyeceğini belirtin.
- Heard you say ekranında tanınan dizeyi kullanıcıya geri okuyun.
SRGS tanımlı kısıtlama kullanan bir konuşma tanıyıcı için yerleşik tanıma akışı örneği aşağıda verilmiştir. Bu örnekte konuşma tanıma başarılıdır.
Her zaman dinliyor
Uygulamanız, kullanıcı müdahalesi olmadan uygulama başlatılır başlatılmaz konuşma girişini dinleyebilir ve tanıyabilir.
Dil bilgisi kısıtlamalarını uygulama bağlamını temel alarak özelleştirmeniz gerekir. Bu, konuşma tanıma deneyimini mevcut görevle daha hedef odaklı ve ilgili tutar ve hataları en aza indirir.
"Ne diyebilirim ki?"
Konuşma girişi etkinleştirildiğinde, kullanıcıların tam olarak nelerin anlaşılabildiğini ve hangi eylemlerin gerçekleştirilebileceğini keşfetmelerine yardımcı olmak önemlidir.
Konuşma tanıma kullanıcı tarafından etkinleştirildiyse, geçerli bağlamda desteklenen tüm sözcük ve ifadeleri göstermek için komut satırını veya menü seçeneğini kullanmayı düşünün.
Konuşma tanıma her zaman açıksa her sayfaya "Ne söyleyebilirim?" ifadesini eklemeyi göz önünde bulundurun. Kullanıcı bu tümceciği söylediğinde, geçerli bağlamda desteklenen tüm sözcükleri ve tümcecikleri görüntüleyin. Bu tümceciği kullanmak, kullanıcıların sistem genelinde konuşma özelliklerini keşfetmesi için tutarlı bir yol sağlar.
Tanıma hataları
Konuşma tanıma başarısız olur. Ses kalitesi düşük olduğunda, tümceciğin yalnızca bir bölümü tanındığında veya hiçbir giriş algılanmadığında hatalar oluşur.
Hatayı düzgün bir şekilde işleyebilir, bir kullanıcının tanımanın neden başarısız olduğunu anlamasına ve kurtarmasına yardımcı olur.
Uygulamanız kullanıcıya anlaşılmadığını ve yeniden denemesi gerektiğini bildirmelidir.
Desteklenen bir veya daha fazla tümcecik örneği sağlamayı göz önünde bulundurun. Kullanıcının, tanıma başarısını artıran önerilen bir tümceciği tekrarlama olasılığı yüksektir.
Kullanıcının seçim yapması için olası eşleşmelerin listesini görüntülemeniz gerekir. Bu, tanıma sürecinden tekrar geçmekten çok daha verimli olabilir.
Alternatif giriş türlerini her zaman desteklemeniz gerekir. Bu, yinelenen tanıma hatalarını işlemek için özellikle yararlıdır. Örneğin, kullanıcının klavye kullanmayı denemesini veya olası eşleşmeler listesinden seçim yapmak için dokunma veya fare kullanmasını önerebilirsiniz.
Kullanıcıya tanımanın başarılı olmadığını bildiren ve kullanıcının başka bir tanıma denemesi yapmasına olanak tanıyan ekranlar içerdiğinden yerleşik konuşma tanıma deneyimini kullanın.
Ses girişindeki sorunları dinleyin ve düzeltmeyi deneyin. Konuşma tanıma, konuşma tanıma doğruluğunu olumsuz etkileyebilecek ses kalitesiyle ilgili sorunları algılayabilir. Kullanıcıyı sorunla ilgili bilgilendirmek ve mümkünse düzeltici eylem gerçekleştirmesine izin vermek için konuşma tanıyıcı tarafından sağlanan bilgileri kullanabilirsiniz. Örneğin, mikrofondaki ses düzeyi ayarı çok düşükse, kullanıcıdan daha yüksek sesle konuşmasını veya sesi açmasını isteyebilirsiniz.
Constraints
Kısıtlamalar veya dil bilgisi, konuşma tanıma ile eşleştirilebilen konuşulan sözcükleri ve tümcecikleri tanımlar. Önceden tanımlanmış web hizmeti dil bilgisilerinden birini belirtebilir veya uygulamanızla birlikte yüklenen özel bir dil bilgisi oluşturabilirsiniz.
Önceden tanımlanmış dil bilgisi
Uygulamanız için önceden tanımlanmış dikte ve web araması gramerleri, gramer yazmanıza gerek kalmadan konuşma tanıma sağlar. Bu dil bilgisi kullanıldığında, konuşma tanıma uzak bir web hizmeti tarafından gerçekleştirilir ve sonuçlar cihaza geri gönderilir.
- Varsayılan serbest metin dikte dil bilgisi, kullanıcının belirli bir dilde söyleyebileceği sözcüklerin ve tümceciklerin çoğunu tanıyabilir ve kısa tümcecikleri tanıyacak şekilde iyileştirilir. Serbest metin diktesi, bir kullanıcının söyleyebileceği şeylerin türlerini sınırlamak istemediğinizde yararlıdır. Tipik kullanımlar arasında notlar oluşturma veya iletinin içeriğini dikte etme sayılabilir.
- Dikte dil bilgisi gibi web araması dil bilgisi, kullanıcının söyleyebileceği çok sayıda sözcük ve tümcecik içerir. Ancak, kullanıcıların genellikle web'de arama yaparken kullandıkları terimleri tanıyacak şekilde iyileştirilmiştir.
Uyarı
Önceden tanımlanmış dikte ve web araması dil bilgisi büyük olabileceğinden ve çevrimiçi olduklarından (cihazda değil) performans, cihazda yüklü özel dil bilgisi kadar hızlı olmayabilir.
Bu önceden tanımlanmış dil bilgisi, 10 saniyeye kadar konuşma girişini tanımak için kullanılabilir ve sizin için yazma çabası gerektirmez. Ancak, bir ağa bağlantı gerektirir.
Özelleştirilmiş gramer
Özel dil bilgisi sizin tarafınızdan tasarlanıp yazılır ve uygulamanızla birlikte yüklenir. Cihazda özel bir kısıtlama kullanılarak konuşma tanıma gerçekleştirilir.
Programlı liste kısıtlamaları, sözcük veya tümcecik listesi kullanarak basit dil bilgisi oluşturmaya yönelik basit bir yaklaşım sağlar. Liste kısıtlaması, kısa ve ayrı tümcecikleri tanımak için iyi sonuç sağlar. Konuşma tanıma altyapısının eşleşmeyi onaylamak için yalnızca konuşmayı işlemesi gerektiğinden, dil bilgisi içindeki tüm sözcükleri açıkça belirtmek de tanıma doğruluğunu artırır. Liste program aracılığıyla da güncelleştirilebilir.
SRGS dil bilgisi, programlı liste kısıtlamasının aksine SRGS Sürüm 1.0 tarafından tanımlanan XML biçimini kullanan statik bir belgedir. SRGS dil bilgisi, birden çok anlamsal anlamı tek bir tanımada yakalamanıza olanak sağlayarak konuşma tanıma deneyimi üzerinde en büyük denetimi sağlar.
SRGS dil bilgisi yazmak için bazı ipuçları şunlardır:
- Her gramari küçük ve basit tutun. Daha az tümcecik içeren dil bilgisi, çok sayıda tümcecik içeren daha büyük dil bilgilerinden daha doğru tanıma sağlama eğilimindedir. Uygulamanızın tamamı için tek bir dil bilgisi kullanmaktansa, belirli senaryolar için birkaç daha küçük dil bilgisi kullanmak daha iyidir.
- Kullanıcılara her uygulama bağlamı için ne söyleyeceklerini bildirin ve gerektiğinde dil bilgisini etkinleştirin ve devre dışı bırakın.
- Her dil kuralını, kullanıcıların bir komutu çeşitli yollarla konuşabilmeleri için tasarlayın. Örneğin, dilbilgisinizin tanımlamadığı konuşma girişlerini eşleştirmek için ÇÖP kuralını kullanabilirsiniz. Bu, kullanıcıların uygulamanız için hiçbir anlamı olmayan ek sözcükler konuşmasına olanak tanır. Örneğin, "bana ver", "ve", "uh", "belki" vb.
- Konuşma girişini eşleştirmeye yardımcı olması için sapi:subset öğesini kullanın. Bu, kısmi tümcecikleri eşleştirmeye yardımcı olmak için SRGS belirtiminin bir Microsoft uzantısıdır.
- Dil bilginizde yalnızca bir hece içeren tümcecikleri tanımlamaktan kaçınmaya çalışın. Tanıma, iki veya daha fazla hece içeren ifadeler için daha doğru olma eğilimindedir.
- Benzer ifadeler kullanmaktan kaçının. Örneğin, "hello", "bellow" ve "fellow" gibi tümcecikler tanıma altyapısını karıştırabilir ve düşük tanıma doğruluğuna neden olabilir.
Uyarı
Kullandığınız kısıtlama türü, oluşturmak istediğiniz tanıma deneyiminin karmaşıklığına bağlıdır. Herhangi biri belirli bir tanıma görevi için en iyi seçenek olabilir ve uygulamanızdaki tüm kısıtlama türlerinin kullanımlarını bulabilirsiniz.
Özel telaffuzlar
Uygulamanız alışılmışın dışında veya kurgusal sözcükler içeren özel sözlükler veya yaygın olmayan söylenişleri olan sözcükler içeriyorsa, özel söylenişler tanımlayarak bu sözcüklerin tanıma performansını geliştirebilirsiniz.
Küçük bir sözcük ve tümcecik listesi veya seyrek kullanılan sözcükler ve tümcecikler için, SRGS dil bilgisi içinde özel söylenişler oluşturabilirsiniz. Daha fazla bilgi için bkz. token Öğesi .
Daha büyük sözcük ve tümcecik listeleri veya sık kullanılan sözcükler ve tümcecikler için ayrı söyleniş sözlüğü belgeleri oluşturabilirsiniz. Daha fazla bilgi için lexicons ve fonetik alfabeleri hakkında bölümüne bakın.
Testing
Konuşma tanıma doğruluğunu ve tüm destekleyici kullanıcı arabirimini uygulamanızın hedef kitlesiyle test edin. Uygulamanızdaki konuşma etkileşimi deneyiminin verimliliğini belirlemenin en iyi yolu budur. Örneğin, uygulamanız ortak bir tümceciği dinlemediğinden kullanıcılar kötü tanıma sonuçları mı alıyor?
Dil bilgisini bu tümceciği destekleyecek şekilde değiştirin veya kullanıcılara desteklenen tümceciklerin listesini sağlayın. Desteklenen tümceciklerin listesini zaten sağladıysanız kolayca bulunabilir olduğundan emin olun.
Metin okuma (TTS)
TTS, düz metinden veya SSML'den konuşma çıkışı oluşturur.
Kibar ve teşvik edici istemler tasarlamaya çalışın.
Uzun metin dizelerini okumanız gerekip gerekmediğini göz önünde bulundurun. Kısa mesaj dinlemek başka bir şey, hatırlaması zor olan arama sonuçlarının uzun bir listesini dinlemek başka bir şeydir.
Kullanıcıların TTS'yi duraklatmasına veya durdurmasına izin vermek için medya denetimleri sağlamanız gerekir.
Anlaşılır ve doğal olduklarından emin olmak için tüm TTS dizelerini dinlemelisiniz.
- Sıra dışı bir sözcük dizisi veya konuşma parça numaraları ya da noktalama işaretleri bir tümceciğin anlaşılmaz hale gelmesine neden olabilir.
- Konuşma, prosodi veya tempoyu ana dil konuşucusunun bir ifadeyi söyleme şekline benzetemediğinde doğal olmayan bir şekilde duyulabilir.
Her iki sorun da konuşma sentezleyicisine giriş olarak düz metin yerine SSML kullanılarak giderilebilir. SSML hakkında daha fazla bilgi için bkz. Sentezlenmiş Konuşma ve Konuşma Sentezi Biçimlendirme Dil BaşvurularınıDenetlemek için SSML Kullanma.
Bu bölümdeki diğer makaleler
| Konu | Description |
|---|---|
| Konuşma tanıma | Giriş sağlamak, bir eylem veya komut belirtmek ve görevleri gerçekleştirmek için konuşma tanımayı kullanın. |
| Konuşma tanıma dilini belirtme | Konuşma tanıma için kullanılacak yüklü bir dili seçmeyi öğrenin. |
| Özel tanıma kısıtlamalarını tanımlama | Konuşma tanıma için özel kısıtlamaları tanımlamayı ve kullanmayı öğrenin. |
| Sürekli dikteyi etkinleştirme | Uzun biçimli, sürekli dikte konuşma girişini yakalamayı ve tanımayı öğrenin. |
| Ses girişiyle ilgili sorunları yönetme | Ses girişi kalitesinden kaynaklanan konuşma tanıma doğruluğuyla ilgili sorunları yönetmeyi öğrenin. |
| Konuşma tanıma zaman aşımlarını ayarlama | Konuşma tanımanın sessizliği veya tanınmayan sesleri (babble) ne kadar süreyle yoksayıp konuşma girişini dinlemeye devam etmesi için ayarlayın. |
İlgili makaleler
Örnekleri
Windows developer