Àkópọ̀ Àgbófinró / Àwọn Ohun Pàtàkì
- Azure Batch Transcription API gba àwọn fáìlì ìtẹ̀wé tó to wákàtí 2.5 (WAV/MP3/OGG/FLAC), ń ṣàgbéwọlé wọn lórí ìgbà àìmọ̀tọ, àti ń dá pada
recognizedPhrasesJSON array pẹ̀lú àwọn oludijenBestfún gbólóhùn kọ̀ọ̀kan, àwọn ìwọ̀n ìgbẹ́kẹ̀lé, àbájáde tí a ṣètò ìkọ̀wé ìyìpadà bùyì (ITN), àti diarisation àṣàyàn ẹni tó ń sọ — kò sí àjọpọ̀ ìṣàn tó nílò (Microsoft Azure, 2024).- Àwọn àwòṣe àkústíkì neural ti Microsoft dín àwọn ìwọ̀n àṣìṣe ọ̀rọ̀ kù ní nǹkan bí 50% ní àfiwé pẹ̀lú àwọn àgbékalẹ̀ hidden Markov model (HMM) tẹ́lẹ̀ lórí àgbékàlẹ̀ ìjíròrò Switchboard, tó dé ìbáramu pẹ̀lú àwọn akọ̀wé ènìyàn akọṣẹ lórí ìwádìí ìdánwò nà ní ~5.1% WER (Xiong et al., Microsoft Research, 2016/ìmúdójúìwọ̀n 2021).
- Azure Text Analytics (tó jẹ́ apá Azure AI Language báyìí) ń ṣàgbéwọlé ìkọ̀wé àkọsílẹ̀ nípasẹ̀ yíyọ gbólóhùn pàtàkì, ìmọ̀ ohun tí a npè (NER), ìtúpalẹ̀ ìmọ̀lára pẹ̀lú ìwakùsà ìbí, àti ìwádìí èdè — gbogbo rẹ̀ nínú ìpèpè
analyze_sentimenttàbíbegin_analyze_actionskan ṣoṣo pẹ̀lú àtọ́kùn Python SDK.- CherryPy pèsè ìpele wẹ́bù: ìtọ́sọ̀nà URL, ìṣàkóso gbígbeérù multipart, ìṣàkóso ìjókòó, àti ìfihàn àpẹẹrẹ Jinja2 nínú ìlànà Python tí ó kéré tó lè ṣiṣẹ́ lórí VM ọ̀kan tí ó din owo láìsí ìdiyẹlé ìṣàkóso.
- Azure Translator NMT ń wádìí èdè ìpilẹ̀ṣẹ̀ àdáwọlé àti ń túmọ̀ àwọn àkọsílẹ̀ sí èdè àfojúsùn èyíkéyìí nínú àwọn èdè 135, tó ń mú kí ìtúpalẹ̀ NLP tó tẹ̀lé wà ṣiṣẹ́ lórí àwọn ìkọ̀wé àti ìtumọ̀ nínú ìsele pipeline kanna.
Audio Analyser ⧉ jẹ́ ohun èlò Python tí ó ṣi silẹ tí ó so Azure Cognitive Services mẹ́ta pọ̀ sí àṣà ìṣiṣẹ́ kan: Batch Transcription fún speech-to-text, Azure AI Language (Text Analytics) fún NLP, àti Azure Translator fún àbájáde èdè-oríṣiríṣi. Atọ́kùn wẹ́bù ń ṣiṣẹ́ nípasẹ̀ CherryPy, àti pé àwọn àbájáde lè wà ní JSON, ìkọ̀wé àlàáfíà, tàbí àkójọpọ̀ ìkọ̀wé SQLite tó jókòó.
Àpilẹ̀kọ yìí ń ṣàpèjúwe ìpilẹ̀ṣẹ̀ ìmọ̀ẹ̀rọ ti ìpele pipeline kọ̀ọ̀kan, àwọn àdéhùn Azure API, àti àwọn ìpinnu ẹ̀dá tí a ṣe nínú ìpele CherryPy.
Bí Audio Analyser Ṣe Ń Ṣiṣẹ́: Àgbékalẹ̀ Àkópọ̀ #
Pipeline ní ìpele márùnún tí ó yàtọ̀:
- Gbígbeérù — olùmúlò fi fáìlì ìtẹ̀wé ránṣẹ́ nípasẹ̀ CherryPy web interface. CherryPy ń tọ́jú fáìlì nínú àkójọ ìgbà díẹ̀ àti ń dá pada ID iṣẹ́.
- Ìdánwò — Audio Analyser fi fáìlì ránṣẹ́ sí Azure Batch Transcription REST API. Nítorí pé ìdánwò àpò jẹ́ àìmọ̀tọ, ohun èlò ń ṣàgbéwọlé ojúbode ìpele iṣẹ́ ní àkókò àti dúró de ìpele
Succeededkí ó tó tẹ̀síwájú. - NLP — a fi ìkọ̀wé àkọsílẹ̀ ìgbékalẹ̀ ránṣẹ́ sí Azure AI Language fún yíyọ gbólóhùn pàtàkì, NER, ìtúpalẹ̀ ìmọ̀lára, àti ìwádìí èdè.
- Ìtumọ̀ (àṣàyàn) — tí a bá ṣọ̀ọ̀ sí èdè àfojúsùn, a fi àkọsílẹ̀ ránṣẹ́ sí Azure Translator, àti pé a ń tún ṣe ìtúpalẹ̀ NLP lórí ìkọ̀wé tí a túmọ̀.
- Àbájáde — a kọ àwọn àbájáde sí ìdánwò àbájáde tí a yàn (JSON, TXT, tàbí SQLite) àti fi hàn nínú CherryPy web UI.
Àwọn ìgbẹ́kẹ̀lé àkókò-ìṣiṣẹ́ kan ṣoṣo tó wà lóde àwọn ilé-iṣẹ́ ìkọ̀wé àgbékalẹ̀ Python ni azure-cognitiveservices-speech, azure-ai-textanalytics, azure-ai-translation-text, àti cherrypy. A ka gbogbo àwọn ìẹ̀rí Azure láti àwọn ìyípadà àyíká.
Azure Cognitive Services: Ẹ̀rọ Ìdánwò Àpò #
Azure Speech service batch transcription API (/speechtotext/v3.0/transcriptions) gba àmọ̀ sí fáìlì ìtẹ̀wé nínú Azure Blob Storage àti ara JSON ìtọ́nà. Audio Analyser gbé fáìlì ìbílẹ̀ sí Blob Storage pẹ̀lú URL SAS tí a fọwọ́ sí ṣáájú, lẹ́yìn náà fi iṣẹ́ ìdánwò ránṣẹ́.
Àwọn ohun ẹrù ìfúnni iṣẹ́ tí ó kéré jùlọ:
{
"contentUrls": ["https://<account>.blob.core.windows.net/<container>/<file>.wav?<sas>"],
"locale": "en-US",
"displayName": "audio-analyser-job-001",
"properties": {
"diarizationEnabled": true,
"wordLevelTimestampsEnabled": true,
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked"
}
}
Array recognizedPhrases nínú ìdáhùn ní ohun kan fún gbólóhùn kọ̀ọ̀kan tí a mọ̀. Iforúkọsilẹ̀ kọ̀ọ̀kan ní:
nBest[0].confidence— float láàárín 0 àti 1nBest[0].lexical— àwọn ọ̀rọ̀ ìgbékalẹ̀ bí a ṣe sọ wọnnBest[0].itn— ìdánwò tí a ṣètò ìkọ̀wé ìyìpadà bùyì (àwọn nọ́mbà, ìjọ, owó tí a gbòòrò)nBest[0].display— tí a ṣè fún kíkà, pẹ̀lú àmì ìdásọ̀rọ̀speaker— ID ẹni tó ń sọ nọ́mbà onísọ̀rọ̀ nígbà tí a bá fi diarisation ṣiṣẹ́
Ìfọwọ́túnṣe Custom Speech wà fún àwọn ọ̀rọ̀ àkànṣe-àgbègbè. Gbígbeérù ìwé àtọ̀nà ìpèsè tàbí àkóbá ìmúdójúìwọ̀n (àkójọ àwọn gbólóhùn ìkọ̀wé tí ó ṣojúmọ́ àgbègbè) ń ṣàtúnṣe àwòṣe èdè àti lè dín WER kù ní pàtó lórí àkóónú tó ṣe pàtàkì bíi àwọn ọ̀rọ̀ ọrọ̀ ajé tàbí ìsọ̀rọ̀ ìṣègùn.
Ìṣiṣẹ́ Èdè Àdánidá pẹ̀lú Azure AI Language #
Lẹ́yìn ìdánwò, Audio Analyser fi àkọsílẹ̀ ìfihàn ránṣẹ́ sí Azure AI Language nípasẹ̀ azure-ai-textanalytics Python SDK:
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential
client = TextAnalyticsClient(
endpoint=os.environ["AZURE_LANGUAGE_ENDPOINT"],
credential=AzureKeyCredential(os.environ["AZURE_LANGUAGE_KEY"])
)
documents = [{"id": "1", "language": detected_lang, "text": transcript}]
sentiment_result = client.analyze_sentiment(documents, show_opinion_mining=True)
for doc in sentiment_result:
print(f"Sentiment: {doc.sentiment}")
print(f"Scores: pos={doc.confidence_scores.positive:.2f} "
f"neg={doc.confidence_scores.negative:.2f} "
f"neu={doc.confidence_scores.neutral:.2f}")
for sentence in doc.sentences:
for opinion in sentence.mined_opinions:
print(f" Target: {opinion.target.text}, "
f"Assessment: {[a.text for a in opinion.assessments]}")
keyphrases_result = client.extract_key_phrases(documents)
entities_result = client.recognize_entities(documents)
show_opinion_mining=True ń mú ìmọ̀lára ìpele abala ṣiṣẹ́: API ń dá pada kìí ṣe polarity ìpele ìwé ìkànsí ṣoṣo ṣùgbọ́n àwọn bata àfojúsùn–ìdínwọ̀n pàtó (fún àpẹẹrẹ, target="àgbára ìtẹ̀wé", assessment="búburú"). Eyi ń mú àbájáde wúlò fún ṣíṣe ìdánimọ̀ àwọn ọ̀ràn gidi nínú ìtúpalẹ̀ ìpèpè iṣẹ́ olùdíbò.
Ìmọ̀ ohun tí a npè ń pín àwọn ìyípadà gẹ́gẹ́ bí ọ̀kan nínú: Person, Organization, Location, Event, Product, DateTime, Quantity, IP, URL, Email, PersonType, Skill, Address, PhoneNumber.
Ìtìlẹ́yìn Èdè-Oríṣiríṣi nípasẹ̀ Azure Translator #
A pè Azure Translator lẹ́yìn ìwádìí èdè nígbà tí olùmúlò béèrè fún èdè àfojúsùn. Iṣẹ́ náà ń ṣètìlẹyìn fún àwọn èdè 135 àti àwọn àfonífojì pẹ̀lú ìtumọ̀ ẹ̀rọ neural (NMT). Audio Analyser ń lo ojúbode REST /translate pẹ̀lú autodetect gẹ́gẹ́ bí ohun àmùṣọ̀rọ̀ from, torí náà kò nílò ìṣọ̀ọ̀si fún èdè ìpilẹ̀ṣẹ̀:
import requests, uuid
url = "https://api.cognitive.microsofttranslator.com/translate"
params = {"api-version": "3.0", "to": target_lang}
headers = {
"Ocp-Apim-Subscription-Key": os.environ["AZURE_TRANSLATOR_KEY"],
"Ocp-Apim-Subscription-Region": os.environ["AZURE_TRANSLATOR_REGION"],
"Content-type": "application/json",
"X-ClientTraceId": str(uuid.uuid4())
}
body = [{"text": transcript}]
response = requests.post(url, params=params, headers=headers, json=body)
translated_text = response.json()[0]["translations"][0]["text"]
detected_language = response.json()[0]["detectedLanguage"]["language"]
Lẹ́yìn ìtumọ̀, Audio Analyser àṣàyàn ń tún ṣe Text Analytics NLP lórí ìkọ̀wé tí a túmọ̀ kí àwọn àbájáde gbólóhùn pàtàkì àti ìmọ̀lára wà ní èdè ìpilẹ̀ṣẹ̀ àti èdè àfojúsùn.
A ṣeto ìyàn àbájáde ìdánwò (JSON, TXT, SQLite) nígbà bẹ̀rẹ̀. Àbájáde SQLite ń tọ́jú ìjókòó ìtúpalẹ̀ kọ̀ọ̀kan gẹ́gẹ́ bí ìlà pẹ̀lú àwọn ọ̀wọ̀n fún ID iṣẹ́, àkókò, èdè ìpilẹ̀ṣẹ̀, àkọsílẹ̀, àkọsílẹ̀ tí a túmọ̀, àwọn ìwọ̀n ìmọ̀lára, àti àwọn gbólóhùn pàtàkì gẹ́gẹ́ bí JSON blob — tó ń mú kí àwọn àbéèrè SQL ṣiṣẹ́ káàkiri àwọn ìjókòó.
CherryPy gẹ́gẹ́ bí Ìpele Wẹ́bù #
CherryPy ń ṣètò àwọn ọ̀nà URL sí àwọn ọ̀nà Python pẹ̀lú àwọn olùṣàkóso tí a dá lé ìhà. Audio Analyser ń lo àwọn ọ̀nà mẹ́ta:
| Ọ̀nà | Ọ̀nà | Àpèjúwe |
|---|---|---|
GET / |
index() |
Ń fi fọ́ọ̀mù gbígbeérù hàn |
POST /analyse |
analyse() |
Gba gbígbeérù multipart, mu pipeline ṣiṣẹ́, dá pada ID iṣẹ́ |
GET /results/<job_id> |
results() |
Ń ṣàgbéwọlé ìpele iṣẹ́; ń fi ojú-ewé àbájáde hàn nígbà tí ó parí |
Ìtọ́nà tí ó kéré jùlọ ń tọ́jú iwọ̀n olùpèsè kékèré:
import cherrypy
cherrypy.config.update({
"server.socket_host": "0.0.0.0",
"server.socket_port": 8080,
"tools.sessions.on": True,
"tools.sessions.timeout": 60
})
cherrypy.quickstart(AudioAnalyserApp(), "/", conf)
Ìpele ìjókòó ń pa ID iṣẹ́ lọ́wọ́lọ́wọ́, ìdánwò àbájáde tí a yàn, àti èdè ìtumọ̀ àfojúsùn. Ìpamọ̀ ìjókòó tí a kọ́ sínú CherryPy ní ìtẹ̀léra fáìlì gẹ́gẹ́ bí tó yẹ, tó nílò kò sí ìpele fàgìlà tí ó ní lóde.
Àwọn Ìbéèrè Tí A Máa Ń Béèrè #
Àwọn ìdánwò ìtẹ̀wé àti iwọ̀n fáìlì wo ni Audio Analyser ń gba? Azure Batch Transcription API ń ṣètìlẹyìn fún àwọn fáìlì WAV, MP3, OGG, àti FLAC tó to wákàtí 2.5 ní gígùn. Àwọn fáìlì tó jẹ́ wà lóde ìyípadà yìí yẹ kí a pín ṣáájú gbígbeérù. A gba àwọn fáìlì stereo; kò nílò ìyípadà sí mono.
Bí speaker diarisation ṣe ń ṣiṣẹ́?
Ṣíṣeto diarizationEnabled: true nínú ìbéèrè ìdánwò àpò ń mú àwòṣe ìyàsọ́tọ̀ ẹni tó ń sọ ti Azure ṣiṣẹ́. Iforúkọsilẹ̀ recognizedPhrase kọ̀ọ̀kan nínú ìdáhùn ní pẹ̀lú pápá speaker onísọ̀rọ̀. Àwòṣe ń wádìí àwọn ẹni tó ń sọ nípasẹ̀ àwọn àbùdá àkústíkì àti ń pín àwọn ID tó ń bá ara mu nínú ìjókòó, ṣùgbọ́n kò ń wádìí tani àwọn ẹni tó ń sọ lái ìgbésẹ̀ ìforúkọsilẹ̀ àgbéwọlé ohùn tó yàtọ̀.
Ṣé àwọn fáìlì ìtẹ̀wé ń pa mọ́ lẹ́yìn ìdánwò? A gbé àwọn fáìlì ìtẹ̀wé sí Azure Blob Storage pẹ̀lú URL SAS tó ni ìgbésí ọ̀pọ̀lọpọ̀ àti a paarẹ́ láti àkójọ ìbílẹ̀ ìgbà díẹ̀ lẹ́yìn tí gbígbeérù ṣe parí. Ìfipamọ̀ àwọn blob nínú Azure Blob Storage dá lé ìlànà ìgbésí ti àpò; gẹ́gẹ́ bí àgbégbè, Audio Analyser kò ṣeto ìlànà pipa àlàáfíà, torí náà àgbékalẹ̀ ìlànà TTL kéré (fún àpẹẹrẹ, pa blob tó ju ọjọ́ 1 lọ) nínú pọ́tálì Azure ni a ṣe ìgbàdúrọ̀ fún àwọn ìgbékalẹ̀ tó ń ṣiṣẹ́ ní àṣà.
Ṣé a lè ṣe ìtúpalẹ̀ NLP láìsí ìtumọ̀?
Bẹ́ẹ̀ni. Ìtumọ̀ jẹ́ ìpele pipeline àṣàyàn tí --target-lang CLI ń ṣàkóso tàbí àtẹ̀gún èdè àfojúsùn nínú web UI. Nígbà tí a bá yàn èdè àfojúsùn kankan, pipeline ń ṣiṣẹ́ speech-to-text àti Text Analytics ṣoṣo.
Àwọn Ìtọ́kasi #
- Microsoft. Batch transcription overview — Azure AI services. Microsoft Learn, 2024. https://learn.microsoft.com/en-us/azure/ai-services/speech-service/batch-transcription
- Xiong, W. et al. "Achieving Human Parity in Conversational Speech Recognition." Microsoft Research Technical Report, 2016; updated 2021. https://arxiv.org/abs/1610.05256
- Microsoft. What is Azure AI Language? Microsoft Learn, 2024. https://learn.microsoft.com/en-us/azure/ai-services/language-service/overview
- Microsoft. Azure AI Translator — Supported languages. Microsoft Learn, 2024. https://learn.microsoft.com/en-us/azure/ai-services/translator/language-support
Àyẹ̀wò àkọ́kọ́ .
Àyẹ̀wò àkọ́kọ́ .
