Konuşma dili anlama modeli oluşturmaya yönelik kaynakları anlama
Language Understanding hizmetini kullanarak bir NLP çözümü geliştirmek için Azure'da bir Dil kaynağı oluşturmanız gerekir. Bu kaynak hem modelinizi yazmak hem de istemci uygulamalarından gelen tahmin isteklerini işlemek için kullanılır.
Bahşiş
Bu modülün laboratuvarı, konuşma dilini anlamak için bir model oluşturmayı kapsar. Özel metin sınıflandırmasına ve özel adlandırılmış varlık tanımaya odaklanmış modüller için, Doğal dil çözümleri geliştirme öğrenme yolundaki özel çözüm modüllerine bakın.
Modelinizi oluşturma
Tahmin için model gerektiren özellikler için, tahminde bulunmak üzere kullanmadan önce modeli oluşturmanız, eğitip dağıtmanız gerekir. Bu derleme ve eğitim, Azure AI Dil hizmetine nelerin aranacağını öğretecektir.
İlk olarak Azure portalında Azure AI Dil kaynağınızı oluşturmanız gerekir. Ardından:
- Azure AI hizmetlerini arayın.
- Dil Hizmeti'yi bulun ve seçin.
- Dil Hizmeti'nin altında Oluştur'u seçin.
- Gerekli ayrıntıları doldurun, coğrafi olarak size en yakın bölgeyi seçin (en iyi performans için) ve benzersiz bir ad verin.
Bu kaynak oluşturulduktan sonra bir anahtara ve uç noktaya ihtiyacınız olacaktır. Bunu sol tarafta , kaynağa genel bakış sayfasının Anahtarlar ve Uç Nokta altında bulabilirsiniz.
Language Studio'yu kullanma
Modelinizi oluşturmak, eğitmek ve dağıtmak için daha görsel bir yöntem için Language Studio'yu kullanarak bu adımların her birini gerçekleştirebilirsiniz. Ana sayfada Konuşma dili anlama projesi oluşturmayı seçebilirsiniz. Proje oluşturulduktan sonra modelinizi derlemek, eğitmek ve dağıtmak için yukarıdaki işlemle aynı işlemi uygulayın.
Bu modüldeki laboratuvarda, modelinizi oluşturmak için Language Studio'yu kullanma adımları gösterilir. Daha fazla bilgi edinmek isterseniz Bkz . Language Studio hızlı başlangıcı
REST API’sini kullanma
Modelinizi oluşturmanın bir yolu REST API'sini kullanmaktır. Desen, projenizi oluşturmak, verileri içeri aktarmak, eğitmek, dağıtmak ve ardından modelinizi kullanmaktır.
Bu görevler zaman uyumsuz olarak yapılır; Her adım için uygun URI'ye bir istek göndermeniz ve ardından bu işin durumunu almak için başka bir istek göndermeniz gerekir.
Örneğin, konuşma dili anlama projesi için bir model dağıtmak istiyorsanız, dağıtım işini gönderir ve ardından dağıtım işinin durumunu denetlersiniz.
Kimlik Doğrulaması
Azure AI Dil kaynağınıza yapılan her çağrı için aşağıdaki üst bilgiyi sağlayarak isteğin kimliğini doğrularsınız.
Anahtar | Değer |
---|---|
Ocp-Apim-Subscription-Key |
Kaynağınızın anahtarı |
Dağıtım isteme
Aşağıdaki uç noktaya bir POST isteği gönderin.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Yer tutucu | Değer | Örnek |
---|---|---|
{ENDPOINT} |
Azure AI Dil kaynağınızın uç noktası | https://<your-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır | myProject |
{DEPLOYMENT-NAME} |
Dağıtımınızın adı. Bu değer büyük/küçük harfe duyarlıdır | staging |
{API-VERSION} |
Çağırdığınız API'nin sürümü | 2022-05-01 |
İsteğinize aşağıdakileri body
ekleyin.
{
"trainedModelLabel": "{MODEL-NAME}",
}
Yer tutucu | Değer |
---|---|
{MODEL-NAME} |
Dağıtımınıza atanacak model adı. Bu değer büyük/küçük harfe duyarlıdır. |
İsteğinizi başarıyla gönderdiğinizde yanıt üst bilgisi operation-location
olan bir yanıt alırsınız202
. Bu üst bilgi, durumu istemek için şu şekilde biçimlendirilmiş bir URL'ye sahip olur:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Dağıtım durumunu alma
Yukarıdaki yanıt üst bilgisinden URL'ye bir GET isteği gönderin. Değerler, ilk dağıtım isteğine göre zaten doldurulur.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Yer tutucu | Değer |
---|---|
{ENDPOINT} |
API isteğinizin kimliğini doğrulamak için uç nokta |
{PROJECT-NAME} |
Projenizin adı (büyük/küçük harfe duyarlı) |
{DEPLOYMENT-NAME} |
Dağıtımınızın adı (büyük/küçük harfe duyarlı) |
{JOB-ID} |
Dağıtım isteğinde yukarıda ayrıntılarıyla belirtilen üst bilgi değerinde bulunan modelinizin eğitim durumunu bulma kimliği |
{API-VERSION} |
Çağırdığınız API'nin sürümü |
Yanıt gövdesi dağıtım durumu ayrıntılarını verir. Alanstatus
, dağıtım tamamlandığında başarılı değerini alır.
{
"jobId":"{JOB-ID}",
"createdDateTime":"String",
"lastUpdatedDateTime":"String",
"expirationDateTime":"String",
"status":"running"
}
Örnek istekleri içeren her adımın tam kılavuzu için konuşma anlama hızlı başlangıcına bakın.
Modelinizi sorgulama
Modelinizi tahmin için sorgulamak için C# veya Python'daki SDK'ları veya REST API'sini kullanabilirsiniz.
SDK'ları kullanarak sorgulama
Sdk kullanarak modelinizi sorgulamak için önce istemcinizi oluşturmanız gerekir. İstemcinizi aldıktan sonra uygun uç noktayı çağırmak için bunu kullanırsınız.
var languageClient = new TextAnalyticsClient(endpoint, credentials);
var response = languageClient.ExtractKeyPhrases(document);
language_client = TextAnalyticsClient(
endpoint=endpoint,
credential=credentials)
response = language_client.extract_key_phrases(documents = documents)[0]
Konuşma dili anlama gibi diğer dil özellikleri, isteğin farklı şekilde derlenmesini ve gönderilmesini gerektirir.
var data = new
{
analysisInput = new
{
conversationItem = new
{
text = userText,
id = "1",
participantId = "1",
}
},
parameters = new
{
projectName,
deploymentName,
// Use Utf16CodeUnit for strings in .NET.
stringIndexType = "Utf16CodeUnit",
},
kind = "Conversation",
};
Response response = await client.AnalyzeConversationAsync(RequestContent.Create(data));
result = client.analyze_conversation(
task={
"kind": "Conversation",
"analysisInput": {
"conversationItem": {
"participantId": "1",
"id": "1",
"modality": "text",
"language": "en",
"text": query
},
"isLoggingEnabled": False
},
"parameters": {
"projectName": cls_project,
"deploymentName": deployment_slot,
"verbose": True
}
}
)
REST API kullanarak sorgulama
REST kullanarak modelinizi sorgulamak için, belirtilen uygun gövdeye sahip uygun URL'ye bir POST isteği oluşturun. Dil algılama veya yaklaşım analizi gibi yerleşik özellikler için uç noktayı sorgulayacaksınız analyze-text
.
Bahşiş
Üst bilgideki Azure AI Dili kaynak anahtarınızla her isteğin kimliğinin Ocp-Apim-Subscription-Key
doğrulanması gerektiğini unutmayın
{ENDPOINT}/language/:analyze-text?api-version={API-VERSION}
Yer tutucu | Değer |
---|---|
{ENDPOINT} |
API isteğinizin kimliğini doğrulamak için uç nokta |
{API-VERSION} |
Çağırdığınız API'nin sürümü |
Bu isteğin gövdesinde, hizmete ne tür bir dil anlayışı istediğinizi bildiren parametresini belirtmeniz kind
gerekir.
Örneğin dili algılamak istiyorsanız JSON gövdesi aşağıdakine benzer olacaktır.
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"text": "This is a document written in English."
}
]
}
}
Konuşma dili anlama gibi diğer dil özellikleri, isteğin farklı bir uç noktaya yönlendirilmesi gerekir. Örneğin, konuşma dili anlama isteği aşağıdakilere gönderilir.
{ENDPOINT}/language/:analyze-conversations?api-version={API-VERSION}
Yer tutucu | Değer |
---|---|
{ENDPOINT} |
API isteğinizin kimliğini doğrulamak için uç nokta |
{API-VERSION} |
Çağırdığınız API'nin sürümü |
Bu istek aşağıdakine benzer bir JSON gövdesi içerir.
{
"kind": "Conversation",
"analysisInput": {
"conversationItem": {
"id": "1",
"participantId": "1",
"text": "Sample text"
}
},
"parameters": {
"projectName": "{PROJECT-NAME}",
"deploymentName": "{DEPLOYMENT-NAME}",
"stringIndexType": "TextElement_V8"
}
}
Yer tutucu | Değer |
---|---|
{PROJECT-NAME} |
Modelinizi oluşturduğunuz projenin adı |
{DEPLOYMENT-NAME} |
Dağıtımınızın adı |
Örnek yanıt
SDK'dan gelen sorgu yanıtı, özellik (veya response.Value
gibi) bağlı olarak değişen döndürülen nesnede response.key_phrases
olur. REST API aşağıdakine benzer bir JSON döndürür.
{
"kind": "KeyPhraseExtractionResults",
"results": {
"documents": [{
"id": "1",
"keyPhrases": ["modern medical office", "Dr. Smith", "great staff"],
"warnings": []
}],
"errors": [],
"modelVersion": "{VERSION}"
}
}
Konuşma dilini anlama gibi diğer modeller için sorgunuza yönelik örnek bir yanıt aşağıdakine benzer olacaktır.
{
"kind": "ConversationResult",
"result": {
"query": "String",
"prediction": {
"topIntent": "intent1",
"projectKind": "Conversation",
"intents": [
{
"category": "intent1",
"confidenceScore": 1
},
{
"category": "intent2",
"confidenceScore": 0
}
],
"entities": [
{
"category": "entity1",
"text": "text",
"offset": 7,
"length": 4,
"confidenceScore": 1
}
]
}
}
}
Hem Python hem de C# için SDK'lar REST yanıtına çok benzeyen JSON döndürür.
Örnekler ve nasıl yapılır kılavuzları da dahil olmak üzere özelliklerle ilgili tam belgeler için Bkz . Azure AI Dili belge belgeleri sayfaları.