kmadathil / sanskrit_parser

Parsers for Sanskrit / संस्कृतम्
MIT License
68 stars 21 forks source link

Distinguishing between akarmaka and sakarmaka dhAtus #41

Closed kmadathil closed 6 years ago

kmadathil commented 7 years ago

Nothing in the lexical tags seems to help for this purpose.

The morphological analyzer needs to constrain dvitIyA/karma being picked for an akarmaka dhAtu. For example, this :

Lexical Split: [asti, uttarasyAm, diSi, de, avatA, AtmA] Valid Morphologies [(asti, ('as#1', set([kartari, law, ekavacanam, prATamikaH, praTamapuruzaH]))), (uttarasyAm, ('uttara#2', set([strIliNgam, saptamIviBaktiH, ekavacanam]))), (diSi, ('diS#2', set([strIliNgam, saptamIviBaktiH, ekavacanam]))), (de, ('da', set([dvivacanam, dvitIyAviBaktiH, strIliNgam]))), (avatA, ('avat', set([puMlliNgam, tftIyAviBaktiH, kartarivartamAnakfdanta-parasmEpadI, kartari, ekavacanam, prATamikaH, kfdantaH]))), (AtmA, ('Atman', set([puMlliNgam, praTamAviBaktiH, ekavacanam])))]

(karaka/vibhakti are not bijective, that is a different issue for which the morphological analyzer needs extension)

avinashvarna commented 7 years ago

कृदन्तरूपमालायां एष विषयः दत्तः (यथा अत्र) । ततः scrape कर्तुं शक्येत, परन्तु केषाञ्चित् धातूनां भिन्नेषु सन्दर्भेषु सकर्मकत्वम् / अकर्मकत्वं वा परिवर्तते, विशिष्य उपसर्गयोगे । अतः एतम् अंशं सरलतया नियमरूपेण कथम् उपयोक्तुं शक्यते इति चिन्तयन्नस्मि ...

kmadathil commented 7 years ago

ततः scrape कर्तुं शक्येत

तावत्करणात् आरब्धुम् अर्हामः |‌

कृदन्तरूपमालाया अन्या अपि उपयोगा भवेयुर् इति चिन्तयामि

kmadathil commented 6 years ago

इदम् द्र्ष्टवान् अहं यदृच्छया | तत् scrape कर्तुं सुकरतरं‌ मन्ये

@vvasuki - मित्र विश्वास, को भवतो अभिप्रायो विषयेस्मिन् ( तस्मात् scrape कृत्वा सकर्मकत्वनिर्धारणविषये)

vvasuki commented 6 years ago

युक्तन्तद् बन्धो - tsv एवेति मन्ये। एतदप्य् अस्ति।

kmadathil commented 6 years ago

DhatuWrapper.py इति utility लिखितं मया तदर्थम् |‌ morpho शाखायां स्थापितञ्च | एतस्यां सञ्चिकायां चतुर्षु राजिषु दोषाः‌ दृश्यन्ते - क्रमेण १०६४,१०६५,१०६६, १२४५ तमासु

kmadathil commented 6 years ago

Rule added. (not using the original asti example, as there is असु क्षेपणे which is sakaramaka, and we cannot currently distinguish between similar dhAtus)

$ python -m sanskrit_parser.morphological_analyzer.SanskritMorphologicalAnalyzer 'mAM svapimi' --debug Input String: mAM svapimi Input String in SLP1: mAM svapimi Start Split: 2017-10-03 21:59:50.885957 End DAG generation: 2017-10-03 21:59:50.910354 End pathfinding: 2017-10-03 21:59:50.910791 Splits: Lexical Split: [mAm, svapimi] No valid morphologies for this split