Open kmadathil opened 7 years ago
L0 इति L1 इत्यस्याधः कथं स्यात् सोपाने? अथवा सोपानक्रमो नास्ति सर्वत्र। तद्विहाय प्रस्ताव उचितो भाति। भवता सूचितयोर् अपवादयोर् अन्तर्भावः प्रथमस्तरे (नाम ल-० इत्यत्र) एवास्तु। सन्धिविच्छेदे कदाचिद् अग्रेवर्तीनि बहून्येवाक्षराणि द्रष्टव्यानि स्युः - तदस्तु।
यो घटको यस्य उत्पन्नम् उपयुङ्क्ते इति क्रमेण सोपनक्रमः कृतः | अत्र, L0 घटकस्य उत्पन्नं L1 इत्यनेन प्रयुज्यते |
भवता सूचितयोर् अपवादयोर् अन्तर्भावः प्रथमस्तरे (नाम ल-० इत्यत्र) एवास्तु
नावगतं मया | अपवादानां चिन्ता L2/L3 इत्यत्र न करणीयम् इत्य् अभिप्रैति भवान् किम्?
नावगतं मया | अपवादानां चिन्ता L2/L3 इत्यत्र न करणीयम् इत्य् अभिप्रैति भवान् किम्?
नैवम् - भवदुक्तापवादयोः परिहारस् L0 इत्यत्रैवास्त्विति विवक्षितम् - lookahead-द्वारा।
पश्यतु इमानि सूत्राणि
८ . ३ . ४० नमस्पुरसोर्गत्योः
८ . ३ . ४१ इदुदुपधस्यचाप्रत्ययस्य ।
८ . ३ . ४२ तिरसोऽन्यतरस्याम् ।
८ . ३ . ४३ द्विस्त्रिश्चतुरिति कृत्वोऽर्थे ।
अत्र lexical विज्ञाप्तिः आवश्यका भवति | इदानीं sandhi.py इत्यस्मिन् तावती विज्ञाप्तिर् नास्ति | तस्मात् एतावन्ति कार्याणि L2/L3 इत्यत्र करणीयम् इत्यासीत् मम मतम् | परन्तु यथोक्तं भवता, तथापि कर्तुं शक्नुमः |
तर्हि L0/L1 इत्यनयोः नामपरिवर्तनं करणीयं, lexical विज्ञाप्तिर् अपेक्ष्यते तत्कर्माय इति कारणेन् :-)
नूनं चिन्त्यमस्ति
@avinashvarna स्वमतं सूचयतु विषयेस्मिन्
विलम्बार्थं क्षन्तव्योऽयं जनः ।
एतानि "high-level requirements" समीचीनानि एव, परन्तु "contract/specification" इत्यनेन सूक्ष्मांशा अपि स्पष्टीकर्तव्या इति मम मतम् । उदाहरणार्थं यथा पूर्वं चर्चितम्, कुत्र left, right इत्येतत् सन्धिस्तरस्य output मध्ये भवेत् कुत्र नेति च । एतदग्रे चर्चयितुं शक्नुमः ।
सम्प्रति L1 इत्येतत् L0 इत्यस्मात् उत्पन्नमेव उपयुङ्क्ते इति नास्ति । तौ द्वौ तन्त्रांशौ अपि L2 इत्यत्रैव उपयुज्येते । आवश्यकं चेत् सन्धितन्त्रांशे पदस्य lexical tags अपि उपयुज्य अपवादानामपि यथाशक्ति परिहारं कर्तुं शक्नुयाम (यथाह @vvasuki), परन्तु तदा तस्य complexity वर्धते । चिन्ता तु नास्ति, कर्तुं शक्यते एव ।
अपरः विकल्पः नाम सन्धिस्तरे overgeneration कृत्वा कथञ्चित् अधिकविवरणानि दीयन्ते चेत् (केन नियमेन विच्छेदः कृत इति), lexical/morphological analysis स्तरे constraints स्थापयित्वा तानि निवारयितुं शक्नुमः । न तावद्रोचयतेऽयम् उपायः, यतो हि overgeneration इत्यस्मात् अधुनैव क्लेशा अनुभूयन्ते ।
मम दृष्ट्या, अपवादानां चिन्तनम् आवश्यकं, परन्तु तत्रैव अधिकम् अवधानं मास्तु । अधुना तु majority विषयान् समीचीनतया कर्तुं प्रयत्नः विधेयः (यतो हि तेन बहूनाम् उपकारो भवेत्) । तदनु exceptions विषये चिन्तयाम ।
अधुना तु majority विषयान् समीचीनतया कर्तुं प्रयत्नः विधेयः (यतो हि तेन बहूनाम् उपकारो भवेत्) । तदनु exceptions विषये चिन्तयाम ।
समीचीनम् | इदानीं अपवादानां चिन्ता न करोमि :-)
Opening a separate issue to talk about this, since it was being lost in the overgeneration discussion:
घटकानां मध्ये व्यवस्था एवं भवेत् इति मम मतम्
L0: Given an input string, return possible sandhi splits at each location Given two input strings, return sandhi output(s) - Valid sandhis only. (We will deal with overgeneration on a case basis for now) L1: Given a pada, return all possible lexical tags L2: Given a string with or without spaces, return a graph where each pada boundary is a legitimate split as per L0, as well as each pada being lexically valid as per L1 L3: Given a lexical graph from L2, output paths that have valid morphologies, ordered (optionally) by DCS frequencies(?)
केचन अपवादा सन्ति येषां चिन्ता करणीया | अत्रैव कुर्वः