চমস্কি টাইপ -১ (প্রসঙ্গ-সংবেদনশীল) ব্যাকরণ ব্যবহারের ক্ষেত্রে আসল-বিশ্ব ব্যবহারের ক্ষেত্রে কী


9

চমস্কি হায়ারার্কিতে কীভাবে ফিট হয় সেই প্রসঙ্গে ভাষা পার্সারদের বিকাশের বিষয়টি আমি ইদানীং কিছুটা মজা করছি।

একটি প্রাসঙ্গিক সংবেদনশীল ব্যাকরণের ভাল রিয়েল-ওয়ার্ল্ড (যেমন তাত্ত্বিক নয়) কী?


8
প্রোগ্রামিং ভাষা গণনা করে?
মার্টিন ইয়র্ক

@ লোকীআস্টারি অবশ্যই
ইভান প্লেস

2
আমি অনুমান করি যে প্রোগ্রামিং ভাষার সংখ্যা গণনা করা যায়, তবে কোনও ভাল সমাধানের জন্য প্রস্তুত হয় না, কারণ প্রসঙ্গ-সংবেদনশীলতার জটিলতাকে সাধারণত একটি প্রসঙ্গমুক্ত ব্যাকরণ দ্বারা পরিবর্তিত করে শব্দার্থ বিশ্লেষণের সাথে প্রতিস্থাপন করা হয়।
ফ্রাঙ্ক

@ ফ্র্যাঙ্ক আমার অনুমান যে আমার সমস্যাটি হ'ল কিছু প্রাসঙ্গিক সংবেদনশীল ভাষাগুলি কিছু বাস্তব-বিশ্বের ব্যবহারের ক্ষেত্রে প্রয়োগ না করে আমি আসলেই বুঝতে পারি না।
ইভান প্লেস

কিছু মানব ভাষা রয়েছে যা পুনরাবৃত্তিমূলকভাবে গণনাকারী ভাষা পার্সার প্রয়োজন না এবং এইভাবে ভাষাগুলির টাইপ 1 (প্রসঙ্গে সংবেদনশীল) সেটগুলিতে পড়ে। cs.virginia.edu/~evans/cs3102/?p=138

উত্তর:


9

ভাল প্রশ্ন. যদিও মন্তব্যগুলিতে উল্লেখ করা হয়েছে যে অনেকগুলি প্রোগ্রামিং ল্যাঙ্গুয়েজ প্রসঙ্গ-সংবেদনশীল, সেই প্রসঙ্গ-সংবেদনশীলতা প্রায়শই পার্সিং পর্যায়ে সমাধান করা হয় না তবে পরবর্তী পর্যায়ে - অর্থাত্ ভাষাটির একটি সুপারকে প্রসঙ্গ-মুক্ত ব্যাকরণ ব্যবহার করে পার্স করা হয়, এবং p পার্স গাছের কিছু পরে ফিল্টার আউট হয়।

তবে, এর অর্থ এই নয় যে এই ভাষাগুলি প্রসঙ্গে সংবেদনশীল নয় , তাই এখানে কয়েকটি উদাহরণ দেওয়া হল:


হাস্কেল আপনাকে অপারেটর হিসাবে ব্যবহৃত ফাংশনগুলি সংজ্ঞায়িত করতে এবং সেই অপারেটরগুলির নজির এবং সাহচর্যতা সংজ্ঞায়িত করতে সহায়তা করে। অন্য কথায়, আপনি অপারেটরের এক্সপ্রেশনগুলির জন্য সঠিক পার্স গাছটি তৈরি করতে পারবেন না:

a @@ b @@ c ## d ## e

যদি না আপনি ইতিমধ্যে @@এবং এর জন্য প্রাধান্য / সাহসিকতার ঘোষণাগুলি বিশ্লেষণ করেছেন ##:

infixr 8 @@
infixr 6 ##

দ্বিতীয় উদাহরণ হ'ল বেনকোড , এমন একটি ডেটা ল্যাঙ্গুয়েজ যা সামগ্রীর দৈর্ঘ্যের সাথে উপসর্গ করে:

<length>:<contents>

এই ফর্ম্যাটটির সমস্যাটি হ'ল প্রসঙ্গ-সংবেদনশীল কিছু ছাড়াই পার্স করা অসম্ভব অসম্ভব, কারণ "ক্ষেত্র" আকারগুলি খুঁজে বের করার একমাত্র উপায় হ'ল ... স্ট্রিংটি বিশ্লেষণ করে।


তৃতীয় উদাহরণটি এক্সএমএল, নির্ধারণ করে দেওয়া যথেচ্ছ ট্যাগ নামগুলি অনুমোদিত: খোলার ট্যাগের নামগুলিতে অবশ্যই মেলানো ট্যাগ থাকতে হবে:

<hi>
 <bye>
 the closing tag has to match bye
 </bye>
</hi> <!-- has to match "hi" -->

মজাদার. আমি এক্সএমএল সম্পর্কে জানতাম। আমার সন্দেহ হয় যে এক্সএইচটিএমএল 1.0 স্পেসের পেছনের ড্রাইভটি 'কুইর্কস মোড' এইচটিএমএল ইন্টারপ্রেটারদের থেকে দূরে নিয়ে যাওয়া হয়েছিল যা ক্লিনার প্রসঙ্গ-মুক্ত এক্সএমএলে প্রসঙ্গ-সংবেদনশীল ব্যতিক্রমগুলি সমর্থন করে।
ইভান প্লেইস

@ ইভানপ্লাইস আমি আপনার মন্তব্যে বিভ্রান্ত হয়েছি - "ক্লিন এক্সএমএল" প্রসঙ্গ সংবেদনশীল যেমন আমি আমার উদাহরণে দেখিয়েছি।

4
@ ম্যাটফেনউইক আমি মনে করি আপনার এক্সএমএল উদাহরণটি এক্সএমএল প্রসঙ্গ-মুক্ত নয় কেন আসল কারণটি প্রদর্শন করে না। কারণ হ'ল নির্বিচার ট্যাগ নাম অনুমোদিত। যদি কেবলমাত্র একটি নির্দিষ্ট ট্যাগের অনুমতি দেওয়া হয় তবে এক্সএমএল প্রসঙ্গমুক্ত হবে।
হনজা ব্রাবেেক

@ হোনজাব্রেবেক আপনি ঠিক বলেছেন - আমি স্পষ্টতই ধরে নিয়েছি যে স্বেচ্ছাসেবক ট্যাগ নাম অনুমোদিত। আমার এই ধারণাটি স্পষ্টভাবে বলা উচিত ছিল। এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ!

3

আমি যতক্ষণ জানি, প্রাসঙ্গিক সংবেদনশীল ব্যাকরণগুলি কেবল প্রাকৃতিক ভাষা প্রক্রিয়াকরণে ব্যবহৃত হয় । প্রোগ্রামিং ভাষার দোভাষী এবং সংকলক জটিলতার কারণে প্রসঙ্গ-মুক্ত ব্যাকরণ বিশ্লেষণ করার চেষ্টা করেন না (এমনকি কিছু চেষ্টা অতীতেও করা হয়েছিল)।

হতে পারে, আপনি এই লাইব্রেরির একটিতে প্রকৃত ব্যবহারের কয়েকটি উদাহরণ খুঁজে পেতে পারেন:

http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits

http://opennlp.sourceforge.net/projects.html

http://nltk.org/

http://nlp.stanford.edu/nlp/javadoc/javanlp/


2
এইচটিএমএল 'কুইর্কস মোড' এবং কোড প্রিপ্রোসেসরগুলির কী, তারা গণনা করবে না?
ইভান প্লেইস

2

প্রসঙ্গ সংবেদনশীল ব্যাকরণ কখনও কখনও প্রোগ্রামিং ভাষার শব্দার্থবিজ্ঞানের বর্ণনায় ব্যবহৃত হয়। সংবেদনশীল ব্যাকরণগুলির সম্ভবত সবচেয়ে বিস্তৃত ব্যবহার ছিল আলগোল 68 ভাষার সংজ্ঞা। এটি আলগোল 68৮ প্রোগ্রামের বাক্য গঠন এবং শব্দার্থক উভয়কেই বর্ণনা করতে দ্বি-স্তরের প্রেক্ষাপট মুক্ত ব্যাকরণ ( http://en.wikedia.org/wiki/Two-level_grammar দেখুন ) ব্যবহার করেছে।

আমার বেশ কয়েকজন সহকর্মী তাদের Algol68 বাস্তবায়ন পরিচালনার জন্য ভ্যান উইজঙ্গার্ডেন ব্যাকরণ ব্যবহার করেছেন (দেখুন http://en.wikedia.org/wiki/FLACC )।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.