ডোমেন নামগুলির সংক্ষেপণ


21

আমি কৌতূহলী যে কেউ কীভাবে একটি স্বেচ্ছাসেবী আইডিএন হোস্টনাম ( আরএফসি 5890 দ্বারা সংজ্ঞায়িত ) ডোমেনটি খুব সংক্ষিপ্তভাবে সংকুচিত করতে পারে এবং সন্দেহ করা যায় যে এটি একটি আকর্ষণীয় চ্যালেঞ্জ হতে পারে। একটি ইউনিকোড হোস্ট বা ডোমেন নাম (ইউ-লেবেল) ইউনিকোড অক্ষরগুলির একটি স্ট্রিং নিয়ে গঠিত হয়, সাধারণত শীর্ষ-স্তরের ডোমেনের উপর ভিত্তি করে একটি ভাষাতে আবদ্ধ থাকে (উদাহরণস্বরূপ গ্রীক অক্ষর ) যার দ্বারা শুরু হয় ( এসএসসিআইএসআই) স্ট্রিংটিতে এনকোড থাকে একটি লেবেল)।.grxn--

কেউ কেবল আনুষ্ঠানিক প্রয়োজনীয়তা থেকে ডেটা মডেল তৈরি করতে পারে

  • প্রতিটি অ-ইউনিকোড লেবেল স্ট্রিং মেলানো হতে পারে ^[a-z\d]([a-z\d\-]{0,61}[a-z\d])?$;

  • প্রতিটি এ-লেবেল স্ট্রিং মেলানো হতে পারে ^xn--[a-z\d]([a-z\d\-]{0,57}[a-z\d])?$; এবং

  • পুরো ডোমেনের মোট দৈর্ঘ্য (এ-লেবেল এবং নন-আইডিএন লেবেলগুলি '।' ডেলিফিটর দিয়ে সজ্জিত) 255 টি অক্ষরের বেশি নয়

তবে বিভিন্ন হিউরিস্টিকস থেকেও:

  • লোয়ার অর্ডার ইউ-লেবেল প্রায়ই আভিধানিক চিহ্নগুলি সিন্টেক্সের এবং শব্দার্থগতভাবে সংজ্ঞাবাচক বিশেষ্য এবং সংখ্যা (হাইফেন ছাড়া বিরামচিহ্নহীন, হোয়াইটস্পেস ছিনতাই এবং প্রতি গুটান সহ কিছু প্রাকৃতিক ভাষা বৈধ বাক্যাংশ হয়, Nameprep ), খাটো বাক্যাংশ জন্য পছন্দ সঙ্গে; এবং

  • উচ্চ-অর্ডার লেবেলগুলি এসএলডি এবং টিএলডি অভিধান থেকে অঙ্কিত হয় এবং নিম্ন-অর্ডার লেবেলে কোন প্রাকৃতিক ভাষা ব্যবহৃত হয় তা অনুমানের জন্য প্রসঙ্গ সরবরাহ করে।

আমি আশঙ্কা করি যে ডেটাগুলির এই নির্দিষ্ট বৈশিষ্ট্যগুলি বিবেচনা না করে এই জাতীয় ছোট স্ট্রিংগুলির ভাল সংক্ষেপণ অর্জন করা কঠিন হবে এবং তদুপরি, বিদ্যমান লাইব্রেরিগুলি তাদের আরও সাধারণ ব্যবহারের ক্ষেত্রে সামঞ্জস্য করার জন্য অপ্রয়োজনীয় ওভারহেড তৈরি করবে।

ম্যাট মাহুনির অনলাইন বই ডেটা কমপ্রেসন ব্যাখ্যা করে পড়া , এটি স্পষ্ট যে উপরোক্ত (এবং / অথবা অন্যান্য) মডেলিং অনুমানগুলির সুবিধা গ্রহণের জন্য প্রচুর বিদ্যমান কৌশল ব্যবহার করা যেতে পারে যার ফলস্বরূপ কম নির্দিষ্ট সরঞ্জামগুলির তুলনায় অনেক উচ্চতর সংকোচনের ফলস্বরূপ।

প্রসঙ্গক্রমে, এই প্রশ্নটি এসও-র পূর্বের কোনওটির অফসুট


প্রাথমিক চিন্তা

এটি আমাকে আঘাত করে যে এই সমস্যাটি অফলাইন প্রশিক্ষণের জন্য সেরা প্রার্থী এবং আমি নিম্নলিখিত লাইনের সাথে একটি সংকোচিত ডেটা ফর্ম্যাটটি কল্পনা করেছি:

  • " পাবলিক প্রত্যয় " এর একটি হাফম্যান কোডিং, ডোমেন নিবন্ধকরণ বা ট্রাফিক ভলিউমের কোনও প্রকাশিত উত্স থেকে সম্ভাব্যতার অঙ্কিত;

  • একটি হাফম্যান কোডিং যার (প্রাকৃতিক ভাষা) মডেলটি বাকী ইউ-লেবেলগুলির জন্য ব্যবহৃত হয়, ডোমেন প্রত্যয়ের প্রসঙ্গে প্রদত্ত ডোমেন নিবন্ধের ট্রাফিক ভলিউম থেকে প্রকাশিত উত্স থেকে সম্ভাব্যতা আঁকা হয়;

  • নির্দিষ্ট প্রাকৃতিক ভাষার মডেল থেকে অভিধান-ভিত্তিক কিছু রূপান্তর প্রয়োগ করুন; এবং

  • ইউ-লেবেলে প্রতিটি চরিত্রের একটি গাণিতিক কোডিং, প্রাসঙ্গিকভাবে অভিযোজিত প্রাকৃতিক ভাষার মডেলগুলি অফলাইন প্রশিক্ষণ থেকে নেওয়া (এবং সম্ভবত অনলাইনেও, যদিও আমি সন্দেহ করি যে ডেটাটি কোনও অর্থবোধক অন্তর্দৃষ্টি দেওয়ার পক্ষে খুব কম হতে পারে?)।


4
সম্ভবত আপনি সমস্ত ডোমেন নামের একটি তালিকা ডাউনলোড করতে এবং প্রত্যেককে একটি নম্বর নির্ধারণ করতে পারেন। এটি খুব কমপ্যাক্ট হবে।

@ ডায়েটারিচ এপ্প: প্রকৃতপক্ষে - এবং আসলে আমি ভেবেছিলাম সম্ভবত রেজিস্ট্রাররা WHOIS এ প্রতিটি নিবন্ধের ক্রমিক সংখ্যা প্রকাশ করতে পারে যা থেকে এটি নির্ভরযোগ্যভাবে নির্মিত যেতে পারে, তবে দুঃখের সাথে তারা তা করেন না। বাস্তববাদী, আমি মনে করি যে এই জাতীয় ডেটাবেস রক্ষণাবেক্ষণের বাস্তব চ্যালেঞ্জগুলি এটিকে অক্ষম করে তোলে: এই জাতীয় ডেটাবেস সাবডোমেনগুলি পরিচালনা করে না বলে উল্লেখ করা উচিত নয়।
উদয়জাল

... ভাল, যদি একটি সংখ্যা যথেষ্ট, শুধু IPv4 / 6 ঠিকানার 4/6 বাইট নিতে: /

@ আরনাউদ: এটির বিপরীত হওয়া একটি সমস্যা - একটি সঠিক পয়েন্টারের উপর নির্ভর করে .in-addr.arpa; আইপি কখনও পরিবর্তন হয় যদি এছাড়াও বিরতি।
অজগল

1
ডায়েরিচ এপ্পের পদ্ধতি অনুসারে (আনুমানিক 196 মিলিয়ন ডোমেনের উপর ভিত্তি করে) আপনি একটি ডোমেন নামটি 28 বিটে (দুটি ইউনিকোড অক্ষর) সঞ্চয় করতে পারেন এবং আপনি আরও ভাল করতে পারবেন না। অবশ্যই, ডোমেন নামগুলির উপর একটি সম্ভাব্যতা বিতরণ আপনাকে বিটগুলির একটি আরও ভাল প্রত্যাশিত সংখ্যা দিতে পারে। আপনি কমপক্ষে 1 মিলিয়ন সর্বাধিক জনপ্রিয় ডোমেনগুলির জন্য পাটিগণিত কোডিং ব্যবহার করতে পারেন এবং বাকী অংশগুলির জন্য কিছু অ্যাড-হক স্কিম ব্যবহার করতে পারেন।
পিটার

উত্তর:


0

হাফম্যান কোডিং অক্ষরের জন্য সর্বোত্তম এবং অবশ্যই সিকোয়েন্সগুলির সাথে মানিয়ে নেওয়া যায়। উদাহরণস্বরূপ, যদি ক্রম "আব" এর ফলাফল "ক" এবং "বি" এর বিটের চেয়ে কম বিটের ফলস্বরূপ হয়, তবে কেবল গাছটিকে যুক্ত করুন ... ইত্যাদি and

... আপনি সম্ভবত কিছু সাধারণ লাইব্রেরিও ব্যবহার করতে পারেন যা আপনার কাছাকাছি সেরা পারফরম্যান্সের সাথে করে, যাতে আপনি নিজের কাস্টম তৈরি সুপার অভিনব সংকোচনের অ্যালগরিদম ব্যবহার করে বেশি লাভ করতে পারবেন না।


আমি মনে করি হাফম্যান মোটামুটি অনুকূল নয় (এটি নিকটতমটির দিকে ঘুরছে): গাণিতিক কোডিং সর্বদা ছাপিয়ে যায়। এবং যদি না কোনও সংকোচিত হওয়ার তথ্যের সঠিক মডেল প্রয়োগ করে তবে একটি সর্বদা সাবঅপটিমাল ফলাফল অর্জন করতে চলেছে ... সুতরাং প্রতিটি বিট যদি গুরুত্বপূর্ণ হয় তবে জেনেরিক লাইব্রেরি পর্যাপ্ত হতে পারে না।
অজগল

4
আপনি যদি বর্ণগুলির মধ্যে পারস্পরিক সম্পর্ককে অগ্রাহ্য করেন তবে হাফম্যান কোডিং অসম্পূর্ণভাবে অনুকূল হয় (উদাহরণস্বরূপ, যদি আপনি একটি দেখতে পান q, তবে পরবর্তী অক্ষরটি uঅন্যথায় যা হবে তার চেয়ে অনেক বেশি হওয়ার সম্ভাবনা থাকে )। তবে এটি বাস্তববাদী অনুমান নয়। অনুশীলনে, এই পারস্পরিক সম্পর্কগুলি বিশাল এবং অনুশীলনে কোডিং হ্যাফম্যানের চেয়ে একজন আরও অনেক কিছু করতে সক্ষম করে।
ডিডাব্লিউ

@ ডিডব্লিউ আপনার কীভাবে আরও ভাল করতে পারে তার জন্য কোনও সুপারিশ আছে? এটি সম্ভবত সংযুক্ত অক্ষরগুলির জোড়া বা ত্রিগলকে হাফম্যানের মাধ্যমে এনকোড করার অনুমতি দিতে সহায়তা করবে?
রায়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.