जबरन संरेखण: मशीन लर्निंग के माध्यम से एक ट्रांसक्रिप्ट के साथ ऑडियो का मिलान कैसे करें?

1. समस्याएँ / उपयोग मामले

यह सोमवार की धूप है कि टॉम अपनी कॉफी का आनंद ले रहा है, लेकिन उसका मालिक जेरी उसके पास आता है और कहता है:

"यहाँ एक फिल्म की प्रतिलिपि है, लेकिन यह समय की जानकारी नहीं है। क्या आप फिल्म देखने के लिए कुछ समय ले सकते हैं, और वीडियो टाइमस्टैम्प को ट्रांसक्रिप्ट के साथ मैच कर सकते हैं? यह आसान और मजेदार है, है ना? "

निम्नलिखित ग्राफ टॉम को संभालने के लिए समस्या की व्याख्या करता है:

"एह ... ठीक है", टॉम मना नहीं कर सकता।

यह कार्य आसान लगता है, लेकिन अगर टॉम ने ठीक वही किया, जो जेरी ने कहा, तो फिल्म देखने के लिए और मैन्युअल रूप से ट्रांसक्रिप्ट को मूवी टाइमलाइन वाक्य के साथ सजाकर संरेखित करें, यह मजेदार नहीं होगा। वह केवल टॉम को पागल कर देगा।

टॉम को इतना बुरा लगता है।

2. मजबूर संरेखण अवलोकन

2.1 मजबूर संरेखण क्या है

", तुम क्या कर रहे हो?" हारून, मशीन सीखने वाला इंजीनियर जो टॉम के पास बैठता है, मदद करने की कोशिश करता है।

टॉम द्वारा बताई गई समस्या के बारे में बताने के बाद, एरॉन मुस्कुराते हुए कहता है: “ओह आसान! यह केवल एक मजबूर संरेखण समस्या है, एक बड़ी बात नहीं! "

"कोई बड़ी बात नहीं है?", टॉम शिकायत करने वाला है लेकिन एरॉन कहता है: "यह खत्म होने में बस कुछ मिनट लग सकते हैं, चिंता मत करो, यार।"

"कुछ मिनट?", टॉम एक ही समय में संदिग्ध लेकिन उत्साहित है, "तो, क्या मजबूर संरेखण है?"

"विकी [1] के अनुसार, मजबूर संरेखण उस प्रक्रिया को संदर्भित करता है, जिसके द्वारा ऑर्थोग्राफिक ट्रांस्क्रिप्शन को स्वचालित रूप से फ़ोन स्तर विभाजन उत्पन्न करने के लिए ऑडियो रिकॉर्डिंग से जोड़ा जाता है।", आरोन जारी है, "संक्षेप में, पाठ के साथ ऑडियो को संरेखित करने के लिए मजबूर संरेखण है। ।

"यही तो मैं करना चाहता हूँ!", टॉम बहुत उत्साहित है।

2.2 मजबूर संरेखण उपकरण

"ठीक है, अब मुझे अकादमिक शब्द 'जबरन संरेखण' पता है", टॉम कहते हैं, "लेकिन मैं मजबूर संरेखण द्वारा अपने मुद्दे को कैसे हल कर सकता हूं?"

"वास्तव में बहुत सारे उपकरण हैं जो इस समस्या को ठीक करने में मदद कर सकते हैं, इसे जांचें [2]:"

टॉम को उपकरण सूची पेश करने के बाद, हारून कहते हैं: "बस किसी को भी जो आपको पसंद है, उसे चुनें और अपने ग्राहक को स्थापित करने या अपनी वेबसाइट का उपयोग करने के लिए उनके दस्तावेज़ का पालन करें। उनमें से ज्यादातर केवल ऑडियो फ़ाइल और ट्रांसक्रिप्ट टेक्स्ट फ़ाइल के लिए पूछते हैं, फिर यह संरेखित ट्रांस्क्रिप्ट को आउटपुट करेगा। "

"बहुत बहुत धन्यवाद! हारून, यह आश्चर्यजनक है! ”, टॉम उन उपकरणों पर शोध करना शुरू करता है।

टॉम की कहानी वहाँ समाप्त होती है, लेकिन अगर आप मशीन सीखने के विवरण के बारे में अधिक जानना चाहते हैं, तो कृपया निम्नलिखित अनुभागों को पढ़ें।

3. उन्नत: मजबूर संरेखण एल्गोरिदम

3.1 DTW (डायनामिक टाइम वारपिंग)

विशिष्ट उपकरण / Lib: Aeneas

इस अनुभाग में, हम मूल DTW एल्गोरिथ्म का परिचय देंगे, जिससे आपको अन्य अनुकूलित DTW एल्गोरिदम को और बेहतर ढंग से समझने में मदद मिलेगी, जिनका उपयोग विभिन्न मजबूर संरेखण उपकरणों में किया जाता है।

> परिचय

DTW एक समय श्रृंखला संरेखण एल्गोरिथ्म है, जिसका उद्देश्य दो अक्षों के बीच एक इष्टतम मैच पाए जाने तक समय अक्ष को पुन: क्रमबद्ध करके फीचर वैक्टर के दो अनुक्रमों को संरेखित करना है।

> इनपुट

2 क्रम:

  • A = [a1, a2,…, a]
  • बी = [बी १, बी २, ..., बीएम]

> आउटपुट

भ्रम मैट्रिक्स: प्रत्येक कोशिका संबंधित बिंदुओं की दूरी के लिए है।

इष्टतम मिलान पथ (लाल डॉट्स शो के रूप में):

  • W = [w1, w2,…, wx], इसमें w_k = (a_i, b_j)

> समय जटिलता

ओ (एम * एन)

> शर्तें

  1. सीमाओं
  • w1 = (a1, b1)
  • wk = (a, bm)

2. मोनोटोनिक

suppose w (k-1) = (a_i, b_j), इस प्रकार w_k = (a_ii, b_jj) के लिए, वहाँ होगा:

  • a_ii> = a_i
  • b_jj> = b_j

3. निरंतरता

suppose w (k-1) = (a_i, b_j), इस प्रकार w_k = (a_ii, b_jj) के लिए, वहाँ होगा:

  • ii - i <= 1
  • jj - j <= १

> अनुकूलन लक्ष्य

वहाँ बहुत सारे रास्ते होंगे, जो उपरोक्त शर्तों को पूरा करते हैं, लेकिन DTW के लिए, लक्ष्य इष्टतम W को खोजना है, जिसमें सबसे छोटा रास्ता है।

गणितीय रूप से, लक्ष्य है,

लक्ष्य के आधार पर, हम गतिशील प्रोग्रामिंग के माध्यम से इस मुद्दे को हल करने के लिए एक संचयी दूरी को परिभाषित कर सकते हैं। संदर्भ [5] डायनामिक प्रोग्रामिंग के माध्यम से डीटीडब्ल्यू को हल करने के तरीके पर एक बहुत अच्छा उदाहरण देता है, कृपया इसे अधिक विवरण के लिए जांचें।

> मजबूर संरेखण में DTW का उपयोग कैसे करें

अब तक आप असमंजस में हो सकते हैं कि DTW का इस्तेमाल फोर्स्ड एलाइनमेंट में कैसे किया जाता है। मूल रूप से, DTW केवल एल्गोरिदम का उपयोग नहीं किया जाता है। आइए उदाहरण के लिए Aeneas को लेते हैं, यह DTW का उपयोग कैसे करता है के प्रमुख वर्कफ़्लो है:

  1. TTS (टेक्स्ट टू स्पीच) का उपयोग ट्रांसक्रिप्ट टेक्स्ट फाइल को ऑडियो में बदलने के लिए करें, और शब्द <-> टाइम मैपिंग उत्पन्न करें।
  2. ऑडियो को समय श्रृंखला डेटा में बदलें
  3. 2 श्रृंखला के मिलान के लिए DTW का उपयोग करें
  4. DTW पथ के आधार पर वास्तविक शब्द <-> समय मानचित्रण की गणना करें

ऊपर मुख्य वर्कफ़्लो है, यदि आप Aeneas के कार्यान्वयन विवरण में रुचि रखते हैं, तो आप अधिक विवरण के लिए संदर्भ [3] पढ़ सकते हैं।

इसके अलावा, DTW में समय की जटिलता के कारण, अधिकांश परिवाद पथ का पता लगाने के लिए अनुकूलित DTW एल्गोरिदम का उपयोग कर रहे हैं। मेरे लेख में , मैंने DTW के लिए कुछ स्पीड अप दृष्टिकोणों का उल्लेख किया है, यदि आप रुचि रखते हैं तो कृपया इसे जांचें।

3.2 ASR (स्वचालित रूप से भाषण मान्यता) HMM (हिडन मार्कोव मॉडल) के माध्यम से

> परिचय

एचएमएम एक सांख्यिकीय मार्कोव मॉडल है जिसमें सिस्टम को तैयार किया जाता है जिसे छिपे हुए राज्यों के साथ मार्कोव प्रक्रिया माना जाता है।

एचएमएम के साथ, हम छिपे हुए राज्यों या मनाया राज्यों के आधार पर संक्रमण की संभावनाओं का अनुमान लगा सकते हैं।

> परिभाषाएँ

  1. N: छिपे हुए राज्यों की संख्या
  2. Mat (N): N प्रकार के राज्यों की संक्रमण संभावना मैट्रिक्स
  3. OS = [OS1, OS2,…]: मनाया गया राज्य स्थानांतरण श्रृंखला है
  4. एचएस = [एचएस १, एचएस २,…]: छिपे हुए राज्य स्थानांतरण श्रृंखला

एक उदाहरण लेते हैं, मान लें कि हमारे पास 3 डाइस हैं, और उनके नाम क्रमशः डी 6, डी 4, डी 8 हैं।

डी 6 में 6 सतह हैं, डी 4 में 4 और डी 8 में 8 सतह हैं। निम्नलिखित चित्र से पता चलता है:

इस प्रकार, अब एन = 3 की परिभाषा

मान लें कि उनकी संक्रमण संभावना निम्न चित्र शो के रूप में है, इसलिए Mat (N) = [[0.2, 0.3, 0.5], [0.4, 0.5, 0.1], [0.1, 0.1, 0.8] की परिभाषा।

यदि हम पासा फेंकते हैं और हमें 2 क्रम मिलेंगे, जैसा कि निम्नलिखित चित्र से पता चलता है।

हर बार जब हम एक पासा फेंकते हैं, तो लाल रंग की संख्या देखी जाती है, नीले रंग के बक्से का मतलब होता है कि हम उस समय कौन सा पासा फेंकते हैं। इस प्रकार,

  • मनाया गया अनुक्रम OS की परिभाषा = [1, 6, 3, 5,…]
  • छिपे हुए राज्य अनुक्रम एचएस = [डी 6 की परिभाषा। D8, D6,…]

> एचएमएम क्या हल करने में मदद कर सकता है

कुछ सामान्य समस्याएं हैं जिन्हें ठीक करने के लिए हम HMM का उपयोग कर सकते हैं:

  • ज्ञात एनएटी और मैट (एन) और ओएस, एचएस का पता लगाने की कोशिश करें
  • N OS को जाना जाता है, Mat (N) का पता लगाने की कोशिश करें

> HMM फोर्स्ड एलाइनमेंट में कैसे योगदान देता है

पहले जब हमने DTW के बारे में बात की थी, तो हम टेक्स्ट को ऑडियो (TTS) में बदलने की कोशिश कर रहे हैं, फिर 2 सीक्वेंस को संरेखित करें।

हालांकि, एक अधिक सहज विधि ऑडियो फ़ाइल में प्रत्येक शब्द को सीधे पहचानने के लिए है, फिर मजबूर संरेखण करने के लिए शब्द के प्रारंभ समय और समाप्ति समय रिकॉर्ड करें।

4. संदर्भ:

  1. मजबूरन संरेखण
  2. मजबूर संरेखण उपकरण
  3. Aeneas: यह कैसे काम करता है
  4. गतिशील समय ताना
  5. डायनामिक टाइम वारिंग का परिचय
  6. समय श्रृंखला में सहसंबंध विश्लेषण
  7. मॉन्ट्रियल फोर्स्ड एलाइनर
  8. छिपे हुए मार्कोव मॉडल
  9. HMM परिचय
  10. मजबूर संरेखण और भाषण मान्यता प्रणाली