একটি বোধগম্য বাক্য তৈরি করুন


55

সমস্যা:

এমন একটি বাক্য তৈরি করুন যা পড়ে বোঝা যায়। এটিতে অবশ্যই একটি বিষয়, ক্রিয়া, এবং অবজেক্ট এবং টেনেস এবং বহুবচন অবশ্যই মিলবে। প্রোগ্রামটি যোগ্যতার জন্য বিভিন্ন বিভিন্ন বাক্য তৈরি করতেও সক্ষম হতে হবে।

নিয়মাবলী:

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

7
আমি মনে করি এটি উত্তরগুলির কয়েকটি ( ম্যাটল্যাব আমি আপনাকে দেখছি) থেকে পরিষ্কার হয়ে গেছে যে আপনার নিয়মগুলি সংশোধন করা উচিত যাতে কোনও উত্স থেকে ডেটা মাইনিংয়ের পরপর শব্দ টানতে দেওয়া হয় না।
কার্ল উইথফট

আমি যখন স্মার্টস হচ্ছি: যেহেতু এটি নিখুঁতভাবে একটি জনপ্রিয়তার প্রতিযোগিতা, তাই কারও উচিত একটি হটমোডেলবিকিনি jpg পোস্ট করা উচিত। এটি যে কোনও কিছুর চেয়ে বেশি ভোট পাবে।
কার্ল উইথফট

7
নমুনা বাক্য হিসাবে যে কেউ "মহিষ" বা "মাছ" এর পুনরাবৃত্তি ব্যবহার করে তাদের আমি উত্সাহিত করব!

7
এখানে বেশিরভাগ উত্তর হয় আমার বৈধ, পাঠ্য উত্স থেকে সম্পূর্ণ বাক্য বা আউটপুট উত্পন্ন করে যা মানদণ্ডের সাথে মেলে না। আমার কাছে, দুটি পদ্ধতিরই মনে হয় প্রশ্নের চেতনাবিরোধী! যদি কেউ সত্যই ইমপ্রেস করতে চায় তবে আমি কি এমন কোনও প্রোগ্রামের পরামর্শ দিতে পারি [Adjective] [pl. noun] [verb] [adjective] [pl. noun]যা শূন্যস্থান পূরণের জন্য একটি বাস্তব অভিধান (যেমন সেখানে উপলব্ধ অভিধানের একটি এপিআই ব্যবহার করে) থেকে শুরু করে কোনও কার্যকর অভিধানের মতো সেট দিয়ে শুরু করে? আমি নিজেই লিখতাম যদি আমার কয়েক মিনিট বাদে থাকত! :( সর্বোপরি ...Lazy Developers Write Lousy Programs.
ব্রায়ান লেসি

1
@ পিফারফেরেট ওয়ার্ডের তালিকাগুলি পৃথক শব্দের তালিকা হতে পারে। হার্ড কোডিং সম্পূর্ণ বাক্যগুলির একটি তালিকা হবে। শব্দ তালিকাগুলির সাথে আপনার সম্পূর্ণ বাক্যটি একসাথে কাটাতে প্রোগ্রামটিতে সাধারণত কিছু যুক্তি প্রয়োজন। হার্ড কোডেড বাক্যগুলির সাথে আপনার মূলত একটি মুদ্রণ বিবৃতি প্রয়োজন।
বিট্রি

উত্তর:


87

সজোরে আঘাত

fgrep '/* ' /usr/src/linux* -r | cut -d '*' -f 2 | head -$((RANDOM)) | tail -1

প্রয়োজনীয়তা: লিনাক্স কার্নেল উত্স / usr / src এ ইনস্টল করা আছে

এটি কার্নেল উত্স থেকে এলোমেলো মন্তব্য টেনে আনে। বাক্যগুলি আসলে বোধগম্য কিনা তা বিতর্কের জন্য উন্মুক্ত।

প্রকৃত আউটপুট উদাহরণ:

  • end of packet for rx
  • I don't know what to do
  • 256 byte packet data buffer.
  • The rest of this junk is to help gdb figure out what goes where
  • Convert page list back to physical addresses, what a mess.
  • ???
  • Only Sun can take such nice parts and fuck up the programming interface

12
ভাল একটা! আপনার সবগুলি টানা উচিত এবং এটি একটি অফিসিয়াল fortuneডাটাবেস হিসাবে জমা দেওয়া উচিত ।
জেসন সি

18
"???" সর্বকালের সেরা মন্তব্য
সত্যজিৎ

4
প্রথম বিধি নয় কি 'সরাসরি কোনও ফাইল থেকে পড়া' লঙ্ঘন করা হয়?
কুলদীপ.কম্বুজ

6
আমি বলব সিস্টেম উত্স কোডের মাধ্যমে অনুসন্ধান করা এবং মন্তব্যগুলি থেকে পাঠ্যটি ফিল্টার করা সত্যিই "সরাসরি পড়া" হিসাবে গণ্য হয় না।
দাঙ্গা

7
এবং Slave Overflow। একটি এসই ওয়েবসাইটের সুন্দর নাম
থিডক্টর

95

মতলব

why

আউটপুট উদাহরণ:

>> why
The programmer suggested it.
>> why
To please a very terrified and smart and tall engineer.
>> why
The tall system manager obeyed some engineer.
>> why
He wanted it that way.

[এটি মতলবের অন্যতম ইস্টার ডিম]

সম্পাদনা: আপনি এখানে এই ফাংশনটির কোড দেখতে পারেন: কেন.এম


3
আপনি এখানে কোডটি দেখতে পারেন: opg1.ucsd.edu/~sio221/SIO_221A_2009/SIO_221_Data/Matlab5/…
এলিশা

8
দ্বিতীয় উদাহরণটি কোনও বাক্য নয়। এটি একটি অনন্য বাক্যাংশ।
wchargin

2
এখানে উত্তরের অবশ্যই অবশ্যই বাক্য তৈরি করবে না (উদাহরণস্বরূপ অন্যান্য উচ্চ ভোট প্রাপ্ত উত্তরগুলি দেখুন)। কাজটি বলে না যে এটি কেবল বাক্য তৈরি করতে হবে, এটি বলছে এটি অবশ্যই বাক্য তৈরি করতে সক্ষম হবে।
ইলিশা

51

পিএইচপি

পর্যাপ্ত সময় দেওয়া, এটি অতীত, বর্তমান এবং ভবিষ্যতের সমস্ত সাহিত্য উত্পাদন করবে। নিয়মে উল্লেখ করা হয়নি যে অন্য কোনও পাঠ্য উত্পাদিত হতে পারে।

স্ট্রিংটি 'TOS...'আরও ঘনিষ্ঠভাবে ইংলিশের সাথে মিলের জন্য অক্ষরের লগারিদমিক স্কেল ফ্রিকোয়েন্সি সরবরাহ করে। এটি আনুমানিক আপেক্ষিক চিঠি ফ্রিকোয়েন্সি সহ একটি বৃহত্তর স্ট্রিং উত্পন্ন করতে ব্যবহৃত হয়।

$a = ord('A');
$s = '';

foreach (str_split('TOSRWQPPUALRQTTRGUUUQMMLMFZ') as $i=>$f)
{
    if (!ctype_alpha($c = chr($a + $i)))
        $c = ' ';
    $s .= str_repeat($c, round(exp((ord($f) - $a) / 3.976)));
}

$l = strlen($s) - 1;
for (;;)
    echo substr($s, mt_rand(0, $l), 1);

এটি চালিয়ে আমি এমন সাহিত্য রত্ন আবিষ্কার করেছি:

  • GO NOW- আপনি একটি বিষয় হিসাবে নিহিত।
  • IM AOK - আমি এ-ওকে
  • IM FDR - আমি এফ (র‌্যাঙ্কলিন) ডি (এলিয়ানো) আর (ঝুয়েল্ট)

এছাড়াও, বর্তমান পরিস্থিতি নিয়ে সংক্ষিপ্তভাবে অসন্তুষ্টি প্রকাশ করার জন্য অসংখ্য উদ্ভাবকরা। [কিছু চিঠি redacted।]

  • F**K
  • S**T

পাশাপাশি, সূক্ষ্ম সুরযুক্ত স্কেলিংটি ব্যবহার করে নিম্নলিখিতগুলি:

  • IS IT ON
  • I AM STU
  • I SEE HTML

60
কেন, একগুচ্ছ বানরও একই কাজ করতে পারত!
টিম এস

11
আমি পছন্দ করি! এখন এমন একটি প্রোগ্রাম তৈরি করুন যা এর থেকে বেরিয়ে আসা অক্ষরগুলিকে প্রক্রিয়াজাত করে এবং বোধগম্য বাক্যগুলি খুঁজে পায়! :)
থিডক্টর

2
+1 - আবিষ্কারের অংশটি স্বয়ংক্রিয় করার কোনও সম্ভাবনা? কাজটি আপাতদৃষ্টিতে * একটি * (?) বাক্য তৈরি করা ছিল produce বিটিডাব্লু: আপনি কত সময় ব্যয় করেছেন;)
ওল্ফ

20
আপনি কিভাবে পেতে পারি F**Kএবং S**Tপ্রদত্ত কোন নেই *যে 'ABCDEFGHIJKMLNOPQRSTUVWXYZ '?
glglgl

3
@Ypnypn - 'TOS...'স্ট্রিংটি লগারিদমিক স্কেলে প্রতিটি অক্ষরের ফ্রিকোয়েন্সি উপস্থাপন করে। সুতরাং Aফ্রিকোয়েন্সি আছে T, Bফ্রিকোয়েন্সি আছে OJসর্বনিম্ন ফ্রিকোয়েন্সি রয়েছে Aযা 0 অনুবাদ, যার বিপরীত লগ 1. শেষ অক্ষর স্থান রয়েছে যা ফ্রিকোয়েন্সি আছে Z, বা বৃত্তাকার (Exp (25 / 3,976)) = 538 তাই স্পেস 538 বার প্রায়ই আরো বেশী ঘটবে J। কেবল ভেবেছিল এটি বানর-এ-এ-টাইপরাইটার সমস্যায় ঝরঝরে ঝাঁপিয়ে পড়ে ।

42

সি

char*strerror(),i;main(){for(;--i;)puts(strerror(i));}

উদাহরণ আউটপুট:

সফ্টওয়্যারটির কারণে সংযোগ বিলোপ
বিঘ্নিত সিস্টেম কল পুনরায় শুরু করা উচিত

এখানে বৈধ বাক্য আউটপুট প্রচুর পরিমাণে রয়েছে যার কোন বিষয়, ক্রিয়া এবং অবজেক্ট থাকে না:

টাইমার মেয়াদোত্তীর্ণ
ফাইল বিদ্যমান


এটি কখন এবং কখন শেষ হবে? (এটি হয় তবে আমি কেন বুঝতে পারি না)
ফিল্ল 294

1
@ ব্লাউহিরন লুপ সমাপ্তির শর্তটি --iমিথ্যাতে মূল্যায়ন করে যখন i( charপ্রাথমিক মান 0 সহ ধরণের একটি ভেরিয়েবল ) আবার 0 এ পৌঁছায়। যদি char(যেমন এআরএম) স্বাক্ষরবিহীন হয়, iঅবিলম্বে তার বৃহত্তম মান (সাধারণত 255) এর চারপাশে মোড়ানো যাবে এবং পারলে 0. পর্যন্ত গণনা char(অধিকাংশ ইন্টেল সিস্টেম) স্বাক্ষরিত হয় আচরণ কঠোরভাবে অনির্ধারিত কথা বলছে, কিন্তু সাধারণত একবার এটা তার সর্বনিম্ন মান ছুঁয়েছে ( সাধারণত -128) এটি তার সর্বোচ্চ (সাধারণত 127) এর চারপাশে মোড়ানো এবং 0 এ গণনা করবে So সুতরাং প্রোগ্রামটি সাধারণত 256 টি লাইন প্রিন্ট করবে।
ইকত্মুর

37

জাভা

এলোমেলো বাক্যটি এলোমেলো উইকিপিডিয়া নিবন্ধ থেকে টানুন:

import java.io.InputStream;
import java.net.URL;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;

public class RandomSentence {
    public static void main (String[] args) throws Exception {
        String sentence;
        do {
            InputStream in = new URL("https://en.wikipedia.org/wiki/Special:Random").openStream();
            Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
            String intro = doc.getElementsByTagName("p").item(0).getTextContent();
            sentence = intro.replaceAll("\\([^(]*\\) *", "").replaceAll("\\[[^\\[]*\\]", "").split("\\.( +[A-Z0-9]|$)")[0];
        } while (sentence.endsWith(":") || sentence.length() < 30 || sentence.contains("?"));
        System.out.println(sentence + ".");
    }
}

কখনও কখনও আপনি দুর্ভাগ্য হয়; আমি সর্বনিম্ন বাক্য দৈর্ঘ্য নির্ধারণ করে এবং ":" দিয়ে শেষ হওয়া বাক্যগুলি ফিল্টার করে এটিকে হ্রাস করার চেষ্টা করি (সমস্ত ছদ্মবেশী পৃষ্ঠাগুলি সেভাবেই শুরু হয়) বা একটি "" রয়েছে? " (এমন প্রশ্নাবলীর চিহ্ন অনুসারে সমাধান না করা অজানা তথ্যের সাথে অনেকগুলি নিবন্ধ রয়েছে বলে মনে হয়)। বাক্যসীমাগুলি একটি সময়কালে শ্বেতস্পেসের পরে একটি সংখ্যা বা মূল অক্ষর হয়।

আমি বাক্সের সীমানা নয় এমন কিছু সময়সীমার চেষ্টা করার জন্য এবং বন্ধনীগুলির পাঠ্যও (ফলাফলটি এখনও একটি কার্যকর বাক্য) ফিল্টার আউট করি। উত্সের উদ্ধৃতি সংখ্যাগুলি সরাতে আমি বর্গাকার ধনুর্বন্ধনী ফিল্টার আউট। উদাহরণ:

  • আইডল কুরে ক্যালিফোর্নিয়ার লং বিচের একটি রঙ্গ ব্যান্ড ছিলেন।
  • স্ব-কেন্দ্রীভূত করা তীব্র বৈদ্যুতিন চৌম্বকীয় বিকিরণের সংস্পর্শে থাকা উপাদানের অপসারণ সূচক পরিবর্তনের দ্বারা প্রবর্তিত একটি অ-লিনিয়ার অপটিক্যাল প্রক্রিয়া।
  • টিবি 10 সিএস 4 এইচ 3 হ'ল / এসিএ-জাতীয় শ্রেণীর সদস্য নন-কোডিং আরএনএ অণুতে যা ইউরাইটিনগুলি পরিবর্তনের সাইটগুলিকে সাবস্ট্রেট আরএনএর সিউডোরিডাইনগুলিতে গাইড করে।
  • সুমেরিয়ান পুরাণে ছয়-মাথাযুক্ত বন্য রাম প্রাচীন ইরাকের লাগাশের পৃষ্ঠপোষক দেবতা নিনুর্তার দ্বারা নিহত হিরোদের মধ্যে অন্যতম।
  • সুগার বাবা এমন এক পুরুষের জন্য একটি অপ্রয়োজনীয় শব্দ, যা সাধারণত যৌনতার সাথে সম্পর্ক স্থাপনের পরে সাধারণত একজন অল্প বয়সী মহিলা বা পুরুষকে সমর্থন করার প্রস্তাব দেয়।
  • ওল্ড বেথেল ইউনাইটেড মেথোডিস্ট চার্চটি দক্ষিণ ক্যারোলাইনা, চার্লস্টন, 222 ক্যালহাউন সেন্টে অবস্থিত।
  • ডগলাস গিয়ার্স একজন আমেরিকান সুরকার।

যদি আপনি কোনও ব্যাকরণের সমস্যা লক্ষ্য করেন তবে ভাল, পরিশ্রমী উইকিপিডিয়া সম্পাদক না হওয়ার জন্য এটি আপনার দোষ! ;-)


4
"বৈধ" এবং "বোধগম্য" এর মধ্যে অবশ্যই একটি পার্থক্য রয়েছে। আমি ঠিক আপনার জন্য এখানে কিছু সাবস্ট্রেট আরএনএ সিউডুরিডাইনস পেয়েছি, বাবু।
জেসন সি

1
ফিলিপী, 1847 / লিটোরিনা ডিকোল্লা ফিলিপী, 1847 / লিটোরিনা আফ্রিকানা / লিটোরিনা পের্প্লেক্সা টার্টন, 1932 / নোডিলিটোরিনা আফ্রিকানা। / মনে হয় এমন কিছু উইকি পৃষ্ঠাগুলি রয়েছে যা আপনার থেকে বাদ দেওয়া উচিত অনুসন্ধান! ;) হাহাহা! ওএমজি, দ্বিতীয়বার যখন আমি এটি চালালাম তখন এটি মিখাইল গর্বাচেভের উইকি পৃষ্ঠা থেকে একটি লাইন ফিরে আসল। যিনি আমার প্রথম নামটি ভাগ করেন। বেশ নির্বোধ।
মিখাইলকাজি

2
'/' আসলে সেখানে ছিল না! হাহাহা: পিআই নতুন লাইনের প্রতিনিধিত্ব করতে এটি ব্যবহার করেছেন। সম্ভবত আমি ব্যবহার করা উচিত \ n। এটি এখান থেকে: en.wikedia.org/wiki/Afrolittorina_africana । ডানদিকে টেবিল, প্রতিশব্দ হিসাবে :) যাইহোক, এটি একটি খারাপ ধারণা ছিল না তাই চিন্তা করবেন না, কারণ মিখাইল গর্বাচেভ জিনিসটি বেশ দুর্দান্ত ছিল। এবং তার পরে সমস্ত বাক্য স্বাভাবিক ছিল।
মিখাইলকাজী

2
আপনি এই পদার্থবিজ্ঞানের উত্তর খুঁজে পেতে পারেন সেই নিবন্ধগুলির মধ্যে একটির একটি আকর্ষণীয়, সাম্প্রতিক সহ-ব্যবহারকারীর।
EP

2
এটি সম্ভাবনার এক সাধারণ তবে অত্যন্ত অনিচ্ছাকৃত দিক হতে পারে: কয়েক মিলিয়ন মানুষ কোটি কোটি মানুষ বিশ্বে একসাথে মিলিয়ে যেতে পারে। এটি বলেছিল, আনুষ্ঠানিক বিশ্লেষণ কী বলবে তা আমি নিশ্চিত নই। আমিও বেশ অবাক! আপনি আরও লক্ষ করতে পারেন যে এতে কোনও 'অন্য লোক' জড়িত নেই।
EP

34

সুও ... যেহেতু এটি , তাই আমি evalফাংশনগুলির সাথে এবং কিছুটা মজা করেছি । মূলত আমি একটি এলোমেলো সংখ্যা উত্পন্ন করি এবং তারপরে number সংখ্যার উপর ভিত্তি করে একটি এলোমেলো ক্রিয়াকলাপ সম্পাদন করি (আপনার মুখের দিকে switch!) eval

পিএইচপি, 9 ডলার বৈধ আউটপুট

<?php

//Subjects
function s1(){ echo "I "; $m = rand(1,20); eval ("v".$m."(0);");}
function s2(){ echo "You "; $m = rand(1,20); eval ("v".$m."(0);");}
function s3(){ echo "He "; $m = rand(1,20); eval ("v".$m."(1);");}
function s4(){ echo "She "; $m = rand(1,20); eval ("v".$m."(1);");}
function s5(){ echo "We "; $m = rand(1,20); eval ("v".$m."(0);");}
function s6(){ echo "They "; $m = rand(1,20); eval ("v".$m."(0);");}

//Verbs
function v1($n){ echo "want"; if($n==1)echo"s"; echo " to "; $z = rand(1,10); eval ("a".$z."();");}
function v2($n){ echo "need"; if($n==1)echo"s"; echo " to "; $z = rand(1,10); eval ("a".$z."();");}
function v3($n){ echo "ha"; if($n==1){echo"s";}else{echo"ve";} echo " to "; $z = rand(1,10); eval ("a".$z."();");}
function v4($n){ echo "wanted to "; $z = rand(1,10); eval ("a".$z."();");}
function v5($n){ echo "needed to "; $z = rand(1,10); eval ("a".$z."();");}
function v6($n){ echo "had to "; $z = rand(1,10); eval ("a".$z."();");}
function v7($n){ echo "eat"; if($n==1)echo"s"; echo " "; $w = rand(1,20); eval ("o".$w."();");}
function v8($n){ echo "think"; if($n==1)echo"s"; echo " about "; $w = rand(1,20); eval ("o".$w."();");}
function v9($n){ echo "ate "; $w = rand(1,20); eval ("o".$w."();");}
function v10($n){ echo "thought about "; $w = rand(1,20); eval ("o".$w."();");}
function v11($n){ echo "draw"; if($n==1)echo"s"; echo " "; $w = rand(1,20); eval ("o".$w."();");}
function v12($n){ echo "drew "; $w = rand(1,20); eval ("o".$w."();");}
function v13($n){ echo "smell"; if($n==1)echo"s"; echo " like "; $w = rand(1,20); eval ("o".$w."();");}
function v14($n){ echo "shot "; $w = rand(1,20); eval ("o".$w."();");}
function v15($n){ echo "destroy"; if($n==1)echo"s"; echo " "; $w = rand(1,20); eval ("o".$w."();");}
function v16($n){ echo "destroyed "; $w = rand(1,20); eval ("o".$w."();");}
function v17($n){ echo "melt"; if($n==1)echo"s"; echo " "; $w = rand(1,20); eval ("o".$w."();");}
function v18($n){ echo "saw "; $w = rand(1,20); eval ("o".$w."();");}
function v19($n){ echo "ha"; if($n==1){echo"s";}else{echo"ve";} echo " "; $w = rand(1,20); eval ("o".$w."();");}
function v20($n){ echo "had "; $w = rand(1,20); eval ("o".$w."();");}

//Auxiliaries
function a1(){ echo "punch "; $w = rand(1,20); eval ("o".$w."();");}
function a2(){ echo "drive "; $w = rand(1,20); eval ("o".$w."();");}
function a3(){ echo "mount "; $w = rand(1,20); eval ("o".$w."();");}
function a4(){ echo "see "; $w = rand(1,20); eval ("o".$w."();");}
function a5(){ echo "have "; $w = rand(1,20); eval ("o".$w."();");}
function a6(){ echo "eat "; $w = rand(1,20); eval ("o".$w."();");}
function a7(){ echo "stun "; $w = rand(1,20); eval ("o".$w."();");}
function a8(){ echo "kiss "; $w = rand(1,20); eval ("o".$w."();");}
function a9(){ echo "Ted "; $w = rand(1,20); eval ("o".$w."();");} //See "How I met Your Mother" for further informations :)
function a10(){ echo "blow "; $w = rand(1,20); eval ("o".$w."();");}

//Objects
function o1(){ echo "a cow!<br>";}
function o2(){ echo "a meatball!<br>";} 
function o3(){ echo "a car!<br>";} 
function o4(){ echo "shoes!<br>";} 
function o5(){ echo "pigs!<br>";} 
function o6(){ echo "a telephone!<br>";} 
function o7(){ echo "some bottles of water!<br>";} 
function o8(){ echo "a laptop!<br>";} 
function o9(){ echo "my shorts!<br>";} //Quote needed
function o10(){ echo "anchovies!<br>";}
function o11(){ echo "an alarm clock!<br>";}
function o12(){ echo "every second!<br>";}
function o13(){ echo "until the end!<br>";}
function o14(){ echo "sitting!<br>";}
function o15(){ echo "a sword!<br>";}
function o16(){ echo "fire!<br>";}
function o17(){ echo "the dust!<br>";}
function o18(){ echo "in the bedroom!<br>";}
function o19(){ echo "a poor ant!<br>";}
function o20(){ echo "a pencil!<br>";}

//Testing
$n = rand(1,6); eval ("s".$n."();");
$n = rand(1,6); eval ("s".$n."();");
$n = rand(1,6); eval ("s".$n."();");
$n = rand(1,6); eval ("s".$n."();");

?>

কিছু ফলাফল ...

She draws a sword!
They thought about sitting!
You eat my shorts!
He wanted to Ted a cow!
You want to mount a poor ant!
She smells like anchovies!
He wanted to have shoes!
They wanted to see a pencil!

@ nyuszika7h, অপারেটিং সিস্টেমের উপর নির্ভর করে PHP_EOLকেবল কখনও সমান \nবা সমান \r\n, তবে কখনও <br>বা অনুরূপ নয়।
টিমমিআরএস

@ টিম্মিআরএস হ্যাঁ, আপনি ঠিক বলেছেন, এটি একটি পুরানো মন্তব্য, আমি কেন জানি না কেন সেই সময়ে লিখলাম।
nyuszika7h

33

পিএইচপি + প্রকল্প গুটেনবার্গ

আমি একটি পিএইচপি স্ক্রিপ্ট লিখেছিলাম যা একটি সরল পাঠ্য নথিকে বিগ্রাম শব্দের সংকলনে পরিণত করে , যা এটি পরে এলোমেলো বাক্য তৈরি করতে ব্যবহার করে। প্রকল্প গুটেনবার্গ ছোট প্রিন্ট সহ প্যাট্রিক হেনরির "আমাকে আমার স্বাধীনতা দিন বা আমাকে মৃত্যু দিন" বক্তৃতাটির সম্পূর্ণ সরল পাঠ্য সংস্করণ থেকে উত্পন্ন আরও কিছু ভাল উদাহরণ এখানে রইল:

  • প্রকল্প গুটেনবার্গ প্রজাতন্ত্রের দশা, এবং দাসত্ব!

  • আমরা এই ছোট প্রিন্টের 200 তম বার্ষিকীর জন্য ক্ষমাপ্রার্থী!

  • আপনি যে কোনও ধরণের, এক্সপ্রেশন বা আপত্তিজনক ক্ষতিগুলির জন্য অন্য কোনও গ্যারান্টি দেবেন না, তবে আমার জন্য, মৃত্যু!

আপনি এখানে নিজের জন্য চেষ্টা করে দেখতে পারেন। বাক্যগুলির একটি নতুন ব্যাচের জন্য পৃষ্ঠাটি রিফ্রেশ করুন।

আপনি যদি সোর্স কোডটি নিজে চালাতে চান তবে $src_textআপনার নির্বাচিত সরল পাঠ্যটি লোড করতে ভুলবেন না ।

<html>
<head>
<title>Give Me Liberty Or Give Me Death</title>
<style>
body { margin:4em 6em; text-align:center; background-color:#feb; }
h1 { font-weight:normal; font-size:2em; margin-bottom:2em; }
blockquote { font-style:italic; }
</style>
</head>
<body>
<h1>A collection of quotes randomly generated from Patrick Henry's speech
<a href="http://www.gutenberg.org/ebooks/6">Give Me Liberty Or Give Me Death</a>
(and its accompanying Project Gutenberg blurb).</h1>
<?php

/* Give Me Liberty Or Give Me Death */
/* Plain text available from http://www.gutenberg.org/ebooks/6 */
$src_text = file_get_contents('libertyordeath.txt');

$bigrams = array();
$openers = array();
$loc = 0;
$new_sentence = true;
$last = false;
while (preg_match('/\'?\w+[^\s\[\]\*\(\)"#@]*/',$src_text,$matches,PREG_OFFSET_CAPTURE,$loc)) {
  $w = $matches[0][0];
  $loc = $matches[0][1]+strlen($w);
  $bareword = preg_replace('/\W/','',$w);
  if ($last) {
    if (!isset($bigrams[$last][$w])) $bigrams[$last][$w] = 1;
    else $bigrams[$last][$w]++;
  }
  if (!isset($bigrams[$bareword])) $bigrams[$bareword] = array();
  $last = $bareword;
  if ($new_sentence && preg_match('/^[A-Z]/',$w)) {
    if (!isset($openers[$w])) $openers[$w] = 1;
    else $openers[$w]++;
    $new_sentence = false;
  }
  if (ends_sentence($w)) {
    $new_sentence = true;
    $last = false;
  }
}

/* Now generate ten random sentences */

for ($ns=0; $ns<10; $ns++) {

  echo "<blockquote><p>";

  /* Choose a starting word */

  $sum = 0;
  foreach ($openers as $w=>$c) $sum += $c;
  $r = mt_rand(0,$sum);
  foreach ($openers as $w=>$c) {
    $r -= $c;
    if ($r<=0) break;
  }

  /* Barf out additional words until end of sentence reached */

  while(1) {
    echo "$w ";
    if (ends_sentence($w)) break;
    $bareword = preg_replace('/\W/','',$w);
    $sum = 0;
    foreach ($bigrams[$bareword] as $w=>$c) $sum += $c;
    $r = mt_rand(0,$sum);
    foreach ($bigrams[$bareword] as $w=>$c) {
      $r -= $c;
      if ($r<=0) break;
    }
  }

  echo "</p></blockquote>\n";
}

function ends_sentence($w) {
  if (!preg_match('/[\.\?!]$/',$w)) return false;
  if (preg_match('/^(\w|St|Mr|Ms|Mrs|Messrs|i\.e|e\.g|etc|Rd)\./i',$w)) return false;
  return true;
}

?>
</body>
</html>

+10 এই সত্যিই চ্যালেঞ্জের চেতনা পেরেক! আমি এখন এটি খুঁজে পাচ্ছি না তবে সেখানে কোনও অনলাইন গুগল-ভিত্তিক বাক্য জেনারেটর ছিল যা একইভাবে কাজ করেছিল তবে বিগ্রামগুলি (বা বিকল্পভাবে বৃহত্তর এন-গ্রাম) গুগল অনুসন্ধান ফলাফল থেকে একটি শব্দ অনুসন্ধান করে এবং পর্যবেক্ষণ করে নেওয়া হয়েছিল অনুসন্ধান ফলাফলের পূর্বরূপ স্নিপেটগুলিতে এটি কী অনুসরণ করেছে। সম্ভবত আমি এটি পুনরায় তৈরি এবং এটি এখানে পোস্ট করব।
জেসন সি

এটা কেমন! "স্যার, আমরা খুঁজে পেয়েছি যা প্রতিযোগিতার উন্নতি করতে পেরে সন্তুষ্ট হয়েছে।" বা এই এক! "তারা আপনাকে Etext 6 এর অংশটি উন্নত করার জন্য ভয়াবহ মুহুর্তের ফেরত আমাদের জানায় সর্বশেষ আপডেট হয়েছে: 5 মে 2005, একা সরকারীভাবে আমাদের লড়াইয়ের জন্য প্রকাশিত হয়েছিল।"
হোসচ 250

1
But for me, death!: ডিআই সমস্ত লাইসেন্স / চুক্তিগুলি দৃ strongly়তার সাথে শেষ হতে চায়।
নবীন

হা হা, "একা আমাদের যুদ্ধের জন্য সরকারীভাবে মুক্তি পেয়েছে।"
জেসন সি

1
আমি কিছুই." :(
TheNumberOne

29

পাইথন

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

এটি প্রায় কয়েকটি বুদ্ধিমান বিবৃতি দেয়:

The snigger westernizes the bacteriologist.
A drizzle stoked the sentiments.

অনেক পাগল:

Tipper's orthopaedic knitwear plates a payroll.
A fibula teletypewritered a yogi.
The protozoan's spiralling skydive coats this veterinarian

এবং প্রচুর স্টাফ যা মন্টি পাইথনকে অশ্লীল প্রকৃতির বানানোর মতো শোনায়:

That rolling indictment tarries some bang's bulge.
Some inflammatory tush's intermarriage sextants some postman.
Some pentagon's manufacturer squeaked the wolverine.
A disagreeable participant is entertaining my optimized spoonful.

ইনপুট হিসাবে কোনও পাঠ্য ফাইল নিতে সংস্করণ 3 পরিবর্তন করা হয়েছে:

$ man python | python words.py
The disabled comma-separated source is using those wizards at exit.
$ cat COPYING | python words.py  #GPL
My user accord actions a gnu of software.
$ cat pg2591.txt | python words.py #Grimm's Fairy Tales 
Some bargain receives my threepence.
Any wrong worms your world.
$ cat words.py | python words.py #self reflection
Your filter_possesive not_nouned those prepositions.
$ ls /usr/bin | python words.py  #directory lists
Their dropbox funziped an arch.

কোড (সংস্করণ 3) :

import random
import string
import sys
import re

#words = open("/usr/share/dict/words").readlines()
words = re.sub("[]:;.,:?!<>{}()|=\"`[]",' ',sys.stdin.read(),flags=re.M).split()
words = list(set(words))

articles=('','a ','the ','some ','this ','that ','my ','any ','your ','their ',
             'all ','more '
             'an ') #an must be last
pl_articles=('','some ','those ','many ','the ','these ')
prepositions = ('of','by','to','for','from','in','with','on','which','when','at',
                     'into','as','if','near')
conjunctions = ('and','or','but')
verbs = ('is','are','was', 'be','do','came','been','had','have')
pronouns_s = ('he','she','it','we','you')
pronouns_o = ('him','her','them')

possesive=False
modifiers=0
use_prep = None

MAX_MODIFIERS=2

def is_modifier(w):
    return ("'" in w or
        w[-2:] in ('ry','ed','er','ic','al')  or
        w[-3:] in ('ing','est','ble','ous') or
        w[-4:] in ('less','ical','mmon') )

def is_verb(w):
    return (w in verbs or 
        w[-2:] in ('ed',) or
        w[-3:] in ('ing','ize') )

def is_article(w):
    return w+' ' in articles or w+' ' in pl_articles

def is_conjunction(w):
    return w in conjunctions

def filter_possesive(w,always=False): 
    global possesive
    #allow only one
    result = True if "'" in w else False
    if result:
        if always: return False
        if not possesive: 
            possesive = True
            return False
    return result

def is_preposition(w):
    global use_prep
    if w in prepositions:
        use_prep = w
        return True
    return False

def is_adverb(w):
    return w[-2:]=='ly'

def is_gerund(w):
    return w[-3:]=='ing'

def is_plural(w):
    return w[-1]=='s'

def not_verb(w):
    return (w in ('you','they','our','yes') or 
              w[-4:] in ('ness','such') or
              w in pronouns_o or w in pronouns_s
              )

def not_noun(w):
    return (w in verbs)


def getword():
    while True:
        w=words[random.randrange(len(words))].rstrip()
        if w[0] in string.ascii_uppercase: continue
        if is_article(w) or is_preposition(w):  continue
        if filter_possesive(w): continue 
        #print w
        return w

def get_article():
    return articles[random.randrange(len(articles)-1)]

#print '--s--'
substr=''
conjunction = False
while True:
    w=getword()
    if is_modifier(w):
        if modifiers < MAX_MODIFIERS:
            substr+=w+' '
            modifiers+=1
        else: continue
    elif is_adverb(w) or is_plural(w) or not_noun(w): continue
    else:
        if is_conjunction(w): 
            conjunction = w
            continue    
        substr= substr+w+' '
        if conjunction:
            substr+=conjunction+' '
            conjunction = False
            continue
        if w in pronouns_s: 
            substr = w+' '
            art=''
        else:
            art = get_article()
            if art is 'a ' and substr[0] in 'aeiou': art='an '
        substr= string.capwords(art+substr,'.')
        break

#print '--v--'
verbstr=''
while True:
    w=getword()
    if not_verb(w) or filter_possesive(w,True): continue
    elif is_adverb(w): verbstr+=w+' '
    elif is_gerund(w):
        verbstr+='is '+w+' '
        break
    elif is_verb(w):
        verbstr= verbstr+w+' '
        break
    elif is_modifier(w) or is_conjunction(w): continue
    else:
        if not is_plural(w):
            w=w+'ed' if w[-1]!='e' else w+'d'
        verbstr= verbstr+w+' '
        break

#print '--o--'
obstr=''
conjunction = False
while True:
    w=getword()
    if is_modifier(w):
        if modifiers<MAX_MODIFIERS:
            obstr+=w+' '
            modifiers+=1
        else: continue
    elif is_adverb(w) or not_noun(w) or w in pronouns_s: continue
    else:
        if is_conjunction(w): 
            conjunction = w
            continue
        obstr = obstr+w
        if conjunction:
            obstr+=' '+conjunction+' '
            conjunction = False
            continue
        if is_plural(w):
            art = pl_articles[random.randrange(len(pl_articles))] 
        else:
            art = articles[random.randrange(len(articles)-1)] 
            if art is 'a ' and obstr[0] in 'aeiou': art='an '
        if w in pronouns_o:
            obstr=w
        else:
            obstr= art+obstr
        break

#print '--p--'
while use_prep:
    w=getword()
    if (is_modifier(w) or is_preposition(w) or 
         is_gerund(w) or not_noun(w) or is_conjunction(w)):
        continue
    obstr+=' '+use_prep+' '+w
    use_prep=None

print substr+verbstr+obstr+'.'

3
উদাহরণ বাক্যগুলি আমাকে এত শক্ত করে হাসছে, আমি কাঁদছি! xD
মিখাইলকাজী

cat FILE | COMMAND? ইউইউওসি ;)
nyuszika7h

আপনাকে @ nyuszika7h ধন্যবাদ, আমি আজ কিছু শিখেছি। পুরানো অভ্যাসটি
ভাঙ্গা

1
This smoke toasted some nonresidents.। Woah।
ফিলি 294

25

সজোরে আঘাত

মতলব উত্তর দ্বারা অনুপ্রাণিত। ধরে নিই যে আপনি aptitudeইনস্টল করেছেন।

r=$[ RANDOM % 7 ]
a=''
for i in `seq $r`; do a=$a'v'; done
if [ $r -ne 0 ]; then a='-'$a; fi
aptitude $a moo

সম্ভাব্য আউটপুট ( এই উইকিপিডিয়া নিবন্ধ থেকে স্ক্রিনশট )

এখানে চিত্র বর্ণনা লিখুন


7
আমি মনে করি না . /----\ -------/ \ / \ / | -----------------/ --------\ ----------------------------------------------একটি কার্যকর বাক্য।
সোভিক

1
@ এসভিক you winএকটি বাক্য হতে পারে (বস্তুটি "আর্গুমেন্ট" বোঝানো হয়েছে)। এবং তা না হলেও, প্রশ্নগুলি এমন ক্ষেত্রে নিষেধ করে না যেখানে আউটপুট বৈধ নয়।
#HongKongInd dependence

23

পাইথন:

import random
l = ['Buffalo']
while random.randint(0,5) > 0:
    l.append('buffalo')
print ' '.join(l) + '.'

নমুনা:

  • মহিষের মহিষ।
  • মহিষ মহিষ মহিষ মহিষ মহিষ মহিষ মহিষ মহিষ।

দুর্ভাগ্যক্রমে, এর বিরামচিহ্ন এবং মূলধনটির কিছুটা দুর্বল পরিচালনা রয়েছে তবে এরপরে আবার সেগুলি প্রয়োজনীয়তা হিসাবে তালিকাভুক্ত হয়নি।

এছাড়াও, এখানে একটি উল্লেখ আছে।


3
মহিষের আক্ষরিকাগুলিতে স্পেস যুক্ত করবেন না; পরিবর্তে ব্যবহার ' '.join(l)। এটি পিছনের স্থান থেকে মুক্তি পাবে। তারপরে আপনি কেবল একটি পিরিয়ড সংযোজন করতে পারেন।
ব্ল্যাকলাইট জ্বলজ্বল

@ ব্ল্যাকলাইটশাইনিং এটি আপডেট করেছে। পরামর্শের জন্য ধন্যবাদ.
বিট্রি

আপনাকে স্বাগতম. এবং মহিষের জন্য +1। :)
ব্ল্যাকলাইট জ্বলজ্বল


1
এরটুলগুলির সাথে প্রকাশিত ,print " ".join(takewhile(lambda _: randint(0, 5), repeat("buffalo"))).capitalize() + "."
nmclean

16

মরিচা + টোকি পোনা

কোন ভাষা গৃহীত, তাই আমি একটি প্রোগ্রাম লেখেন মরচে যে কিছু বাক্য উত্পন্ন ত্বকী পোনা

টোকি পোনা একটি ন্যূনতম প্রাকৃতিক ভাষা তৈরি করার চেষ্টা এবং এটির একটি দুর্দান্ত সাধারণ এবং নিয়মিত ব্যাকরণ রয়েছে। এটি এই প্রতিযোগিতার জন্য খুব দরকারী সম্পত্তি!

use std::rand;

#[deriving(Rand)]
struct Phrase { a: Option<~GNominal>, b: ~Sujet, c: ~Predicat }

#[deriving(Rand)]
enum Sujet { A(~GNominal), B(~SCompose) }

#[deriving(Rand)]
enum Predicat { C(~GVerbal), D(~PCompose) }

#[deriving(Rand)]
struct SCompose { a: ~Sujet, b: ~Sujet }

#[deriving(Rand)]
struct PCompose { a: ~Predicat, b: ~Predicat }

#[deriving(Rand)]
struct GNominal { a: ~nom::Nom, b: Multi<~adjectif::Adjectif> }

#[deriving(Rand)]
struct GVerbal { a: ~verbe::Verbe, b: Multi<~adjectif::Adjectif>, c: Multi<~ODirect> }

#[deriving(Rand)]
struct ODirect { a: ~GNominal}

#[deriving(Rand)]
enum Multi<T> { Zero, One(T), Two((T,T)) }

mod nom {
    #[deriving(Rand)]
    #[deriving(ToStr)]
    pub enum Nom {akesi,ala,ale,anpa,ante,ijo,ike,ilo,insa,jaki,jan,jo,kala,kalama,kama,kasi,ken,kili,kiwen,ko,kon,kule,kulupu,lape,lawa,len,lete,linja,lipu,luka,lupa,ma,mama,mani,meli,mi,mije,moku,moli,monsi,mun,musi,mute,nanpa,nasin,nena,nimi,noka,oko,olin,ona,pakala,pali,palisa,pana,pilin,pimeja,pini,pipi,poka,poki,pona,seli,selo,sewi,sijelo,sike,sina,sinpin,sitelen,sona,soweli,suli,suno,supa,suwi,tan,tawa,telo,tenpo,toki,tomo,tu,unpa,uta,utala,walo,wan,waso,wawa,weka,wile}
}

mod verbe {
    #[deriving(Rand)]
    #[deriving(ToStr)]
    pub enum Verbe {ante,awen,ijo,ike,jaki,jan,jo,kalama,kama,ken,kepeken,kule,kute,lape,lawa,lete,lili,lon,lukin,moku,moli,musi,mute,nasa,olin,open,pakala,pali,pana,pilin,pimeja,pini,pona,seli,sin,sitelen,sona,suli,suwi,tawa,telo,toki,tu,unpa,utala,wan,wawa,weka,wile,}
}

mod adjectif {
    #[deriving(Rand)]
    #[deriving(ToStr)]
    pub enum Adjectif {ala,ale,anpa,ante,awen,ike,insa,jaki,jan,jelo,kama,kin,kiwen,kon,kule,kute,kulupu,lape,laso,lawa,lete,lili,linja,loje,luka,lukin,mama,meli,mi,mije,moli,monsi,mun,musi,mute,nasa,ni,olin,ona,pali,pimeja,pini,poka,pona,sama,seli,sewi,sike,sin,sina,suli,suwi,taso,tawa,toki,tomo,unpa,uta,walo,wan,wawa,weka,wile,}
}

impl ToStr for Phrase {
    fn to_str(&self) -> ~str {
        self.a.as_ref().map_or(~"", |g| format!("{:s} la ", g.to_str()))
        + format!("{:s} li {:s}", self.b.to_str(), self.c.to_str())
    }
}

impl ToStr for Sujet {
    fn to_str(&self) -> ~str {
        match *self {
            A(ref v) => v.to_str(),
            B(ref v) => v.to_str(),
        }
    }
}

impl ToStr for Predicat {
    fn to_str(&self) -> ~str {
        match *self {
            C(ref v) => v.to_str(),
            D(ref v) => v.to_str(),
        }
    }
}

impl ToStr for SCompose {
    fn to_str(&self) -> ~str {
        format!("{:s} en {:s}", self.a.to_str(), self.b.to_str())
    }
}

impl ToStr for PCompose {
    fn to_str(&self) -> ~str {
        format!("{:s} li {:s}", self.a.to_str(), self.b.to_str())
    }
}

impl ToStr for GNominal {
    fn to_str(&self) -> ~str {
        format!("{:s} {:s}", self.a.to_str(), self.b.to_str())
    }
}

impl ToStr for GVerbal {
    fn to_str(&self) -> ~str {
        format!("{:s} {:s} {:s}", self.a.to_str(), self.b.to_str(), self.c.to_str())
    }
}

impl ToStr for ODirect {
    fn to_str(&self) -> ~str {
        format!("e {:s}", self.a.to_str())
    }
}

impl<T: ToStr> ToStr for Multi<~T> {
    fn to_str(&self) -> ~str {
        match *self {
            Zero => ~"",
            One(ref v) => v.to_str(),
            Two((ref v,ref w)) => format!("{:s} {:s}", v.to_str(), w.to_str()),
        }
    }
}

fn main() {
    let phrase = rand::random::<Phrase>();
    println!("{:s}\n{:?}", phrase.to_str(), phrase);
}

আমি টোকি পোনা কথা বলি না, তবে উইকিপিডিয়ায় টোকি পোনা সিন্টেক্সটি বিএনএফ নিয়মের একটি সেট হিসাবে পেয়েছি । আমি প্রতিটি বিএনএফ নিয়মের জন্য একটি স্ট্রাক্ট বা এনাম তৈরি করেছি এবং আমি এগুলি দিয়ে এ্যানোটেট করেছিলাম deriving(Rand), যা আমাকে Phraseবিনামূল্যে একটি এলোমেলো কাঠামো উত্পন্ন করার উপায় দেয় ! তারপরে, আমি ToStrএগুলির প্রতিটি স্ট্রিংয়ে রূপান্তর করার জন্য প্রয়োগ করেছি ।

আমি ইচ্ছাকৃতভাবে কাঠামোর নামগুলি ফরাসিতে রেখেছি, কারণ আমার কাছে পাওয়া বিএনএফ বিধিগুলি ফরাসি ভাষায় রয়েছে, এবং এটি আমার জমা দেওয়ার বহুভাষিক প্রকৃতিটিকে পুনরায় স্থান দেয় বলেও!

নমুনা আউটপুট

কিছু ফলাফল এবং তাদের অনুবাদ, যা আমি বিএনএফ নিয়ম এবং একটি টোকি পোনা অভিধানের উপর ভিত্তি করে করেছি । আমি নিশ্চিত যে এই অনুবাদগুলি বেশিরভাগই ভুল, তবে টোকি পোনা আসলে একটি বাক্যটির ব্যাখ্যার জন্য প্রচুর জায়গা ছেড়ে যায়।

নাসিন মী তওয়া লা জান লি জাকি

আমার ভ্রমণের সময়, কেউ দূষিত

মুনসি লি জাকি লি জান ইকে মুসি

বাটটি মলিন এবং মজার খারাপ ব্যক্তি

সিনা লি তাওয়া আলে জেলো ই কিলি তাওয়া ই ইনসা

আপনি ফল এবং কেন্দ্রটিকে হলুদ মহাবিশ্বে সরিয়ে নিয়েছেন

সমস্যা

  • আমি কোন ক্রিয়াটি সংক্রামক কিনা তা পরীক্ষা করে দেখছি না, সুতরাং কিছু বাক্য ব্যাকরণগতভাবে ভুল।
  • কিছু স্ট্রাকগুলি পুনরাবৃত্ত হয় এবং যখন কোনও নিয়ম পুনরাবৃত্তি করা যায় তখন আমি এলোমেলোভাবে 0, 1 বা 2 উপাদান আউটপুট চয়ন করি। এটি হাজার হাজার শব্দের সমন্বয়ে দীর্ঘকালীন বাক্যগুলিকে দেখায় ...
  • আমি আউটপুটটির সত্যতা সত্যতা যাচাই করতে পারি না, আমি পুরোপুরি বিএনএফএফ সিনট্যাক্স, অভিধান এবং আমার নিজের বন্য অনুমানের উপর নির্ভর করি :)

1
sina li tawa ale jelo e kili tawa e insa == "আপনি ফলটি এবং কেন্দ্রটিকে হলুদ মহাবিশ্বে সরিয়ে নিয়েছেন" একটি মেশিনের পক্ষে খুব ভাল, সাধারণত উন্নত টিপি ব্যবহারকারীরা রূপান্তরমূলক নির্মাণ ব্যবহার করতে পারেন।
ম্যাথুমার্টিন

1
দৈত্য লি জাকি লি জান ইকে মুসি == বাট (পাছা? ঝাঁকির মতো?) নোংরা এবং মজার খারাপ ব্যক্তি।
ম্যাথুমার্টিন

1
আরে আপনার মন্তব্যের জন্য ধন্যবাদ, ম্যাথিউমার্টিন! আমি অবশ্যই কোনও টোকি পোনা স্পিকার আমার জমাটি দেখার জন্য আশা করিনি, তবে আমি জেনে খুশি হয়েছি যে এই চিহ্নগুলি সম্পূর্ণ জিব্রাল নয় :)
বারজাক

ইঙ্গিত: এটি কোনও কোড গল্ফ নয়।
nyuszika7h

1
@ nyuszika7h আপনার মন্তব্যের উদ্দেশ্য কী তা আমি নিশ্চিত নই। আসলে এটি কোনও কোড গল্ফ নয়, কারণ এটি একটি জনপ্রিয়তার প্রতিযোগিতা।
বারজাক

14

পাইথন

import this


The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

7
আপনি import antigravityআউটপুট বাড়ে যে তর্ক করতে পারেন I LEARNED IT LAST NIGHT! EVERYTHING IS SO SIMPLE!? : ডি
#HongKongInd dependence

নিঃসন্দেহে, হ্যাঁ
রেনে লিডার

14

Prolog

সম্ভাব্য সমস্ত বাক্য উত্পন্ন করতে প্রোলোগের ব্যাকট্র্যাকিং এবং ইংরেজি ব্যাকরণকে প্রায় অনুমানকারী একটি ব্যাকরণ ব্যাকরণ ব্যবহার করুন ।

এই সংস্করণটির মোটামুটি সীমাবদ্ধ শব্দভাণ্ডার এবং বাক্য গঠন রয়েছে তবে এটি প্রসারিত করা খুব সহজ হওয়া উচিত।

কোড:

% Define the vocabulary
verb(V) :- V = 'eats' | V = 'fights' | V = 'finds'.
subj_pronoun(P) :- P = 'he' | P = 'she' | P = 'it'.
obj_pronoun(P) :- P = 'him' | P = 'her' | P = 'it'.
name(N) :- N = 'alice' | N = 'bob'.
noun(N) :- N = 'cat' | N = 'door' | N = 'pen'.
article(H) :- H = 'the' | H = 'a'.

% Grammar
subject_phrase_short(H) :- subj_pronoun(H)
                         | name(H).
% Subordinate clause. Don't use verb_phrase here to avoid recursive clauses.
sub_clause([Which, Verb|T], Rest) :- Which = 'which', verb(Verb),
                                     object_noun_phrase_short(T, Rest).
subject_phrase([H|T], Rest) :- subject_phrase_short(H), Rest = T.
object_noun_phrase_short([A, N | T], Rest) :- article(A), noun(N), Rest = T
                                            | obj_pronoun(A), Rest = [N|T].
object_phrase(L, Rest) :- object_noun_phrase_short(L, Rest)
                        | object_noun_phrase_short(L, Rest1), sub_clause(Rest1, Rest).
verb_phrase([H|T], Rest) :- verb(H), object_phrase(T, Rest).
sentence(S) :- subject_phrase(S, Rest), verb_phrase(Rest, []).

এই কোয়েরিটি চালান:

sentence(L).

এই ভাষায় সমস্ত সম্ভাব্য বাক্য তৈরি করতে।

কিছু নমুনা আউটপুট:

L = [he, eats, the, cat] ;
L = [she, finds, a, door] ;
L = [alice, fights, the, door] ;
L = [he, fights, the, cat, which, eats, the, pen] ;
L = [alice, eats, him, which, finds, the, cat] ;

(সম্পাদনা: অবজেক্টের অধীনস্ত ধারাগুলির অনুমতি দিন)।


1
কোন উদাহরণ বাক্য আউটপুট?
TheDoctor

হ্যাঁ আমি উত্তরে কয়েকটি নমুনা রেখেছি। এটি মোট 2520 আউটপুট জেনারেট করে যদিও আমি সেগুলি সব পোস্ট করতে পারি না ...
খ্রিস্ট

11

পাইথন

যেমনটি আপনি জানেন, আপনি অল্প কিছু সংখ্যক অজগর দিয়ে কিছু করতে পারেন import। এই 2 লাইন অজগর স্ক্রিপ্টটি দিয়ে এই সাধারণ কাজটি সম্পন্ন করা যায়।

import random

print ("I like the number "+str(random.uniform(0,1)))

এই স্ক্রিপ্ট দ্বারা উত্পন্ন বাক্য সংখ্যা কোয়েট বিশাল: 10^12বিভিন্ন বাক্য। যদি কোনও প্রেরণ পাঠাতে আপনাকে ~ 0.5 সেকেন্ড লাগে, তবে সেগুলি পড়তে 15000 বছরেরও বেশি সময় লাগবে!

কিছু নমুনা বাক্য:

  • I like the number 0.444371877853
  • I like the number 0.358614422548

তবুও উত্পন্ন সমস্ত বাক্যে একটি বিষয়, একটি ক্রিয়া এবং একটি অবজেক্ট থাকে।

হালনাগাদ:

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

import random

print ('I like the number'+''.join([' '+{'0':'zero','.':'point','1':'one','2':'two','3':'three','4':'four','5':'five','6':'six','7':'seven','8':'eight','9':'nine'}[digit] for digit in str(random.uniform(0,1))])+'.')

এখানে কয়েকটি নমুনা বাক্য রয়েছে:

  • I like the number zero point six three five nine zero eight one five eight four two four.
  • I like the number zero point four nine zero eight four four three two zero six two seven.

আমি আমার অভিধানে আপনার কয়েকটি শব্দ খুঁজে পেতে ব্যর্থ হয়েছি
ড। বেলিসারিয়াস

5
আমি আপনার সফটওয়্যারটি আপনার দুর্বল অভিধানে আরও ভালভাবে ফিট করার জন্য সামঞ্জস্য করেছি।
আন্তোনিও র্যাগাগিনিন

2
ঠিক আছে. 15000 বছরে আমি তাদের
সমস্তটি

10

গাণিতিক অভ্যন্তরীণ অভিধানের সাথে বাজানো:

res = {};
SeedRandom[42 + 1];
Do[
  (While[
    If[(c = Flatten@WordData[RandomChoice[WordData[All]], "Examples"][[All, 2]]) != {},
     StringPosition[(c1 = RandomChoice@c), "'" | "-" | "\\" | "`"] != {}, True, True]];
   sp = ToLowerCase /@ StringSplit[c1, (WhitespaceCharacter .. | ",")];
   toChange = RandomSample[Range@#, RandomInteger[IntegerPart[{#/2, #}]]] &@Length@sp;
   If[StringPosition[ToString@WordData[sp[[#]], "Definitions"],  "WordData"] == {}, 
    sp[[#]] = RandomChoice@ WordData[All, RandomChoice@WordData[sp[[#]], "PartsOfSpeech"]]]
             & /@ toChange;
   AppendTo[res, StringJoin@Riffle[sp, " "]];)
  ,
  {10}];
res

আপনি ভাগ্যবান, বলুন, সময় 70%। এটি এ জাতীয় জিনিস উত্পন্ন করে:

একটি amygdaloid বৈদ্যুতিক বর্তনী
ঐ Parkia ছিল unrestrictive যদিও Ragged
তার longanimous সমাজ
শিক্ষা অপাচ্য উত্তর দেওয়ার ডক্টর kibbutz করার
জুলিয়াস সিজার বিরুদ্ধে সামান্য বাদ্যযন্ত্র থিয়েটার
একটি তাই পাখি
কৃপণতা শিক্ষা বিরূদ্ধে তোমার আমোদপ্রমোদপ্রি় কেন্দ্রে নিচে কাটা
প্রয়োজনীয় বহির্মুখী ডিটারজেন্ট
Sans জাদুবিদ্যাসংক্রান্ত মায়াবী
খনি latria বিপরীত এই গর্ত পেক্টোরালিস ট্রফি স্ত্রী ট্রেন্ড-সেটিং বিনিয়োগকারীরা ব্রাউন
কি ম্যান-পোর্টেবল ফিল্ড ফায়ার
ওম্ব্রা মনোমুগ্ধকরভাবে আমার উত্তর হিসাবে
অন্য স্ক্রু-আলগা ধ্বংসাবশেষ ঝড়ের ঘ্রাণবিহীন অ্যাসল্যান্ট আরাল সি কমপ্লেক্স ওয়েফলকে মংলয়েড
টাইপ ধাতব বলে দাবি করেছে

কিন্তু মাঝে মাঝে:

লুৎজেনের সর্বনিম্ন যুদ্ধে আমার গ্রহণের ঘটনাটি নগদ হয়ে উঠবে যখন ক্লিভারের
নয়টি সাধারণ শাইনার সাবডাকশন জেনাস সেউরাস তার শ্রোতা হৃদয়গ্রাহী করেছিল

ওহ ভাল, এর ইংরেজি ব্যবহার আমার চেয়ে ভাল।


8

VBA / এক্সেল

[সম্পাদনা 2]

কীভাবে ক্রিয়াগুলি সংহত করতে হয় তা শিখিয়েছেন, নীচের উদাহরণগুলি সাধারণ অতীত কাল:

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

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

শব্দের শব্দের সমস্ত এলোমেলোভাবে বেছে নেওয়া হয়েছে, তবে আমি এগুলিকে একটি নির্দিষ্ট বাক্য বিন্যাসে সাজিয়ে তুলতে বাধ্য করি:

Debug.Print getWords("ad adj adj nns vpa1s pl ad adj adj nns")

... যা আমি উপরের আউটপুট উত্পন্ন করতে ব্যবহার করি। এটি এর সাধারণ ফর্মটি অনুসরণ করে, "দ্রুত লাল শেয়ালটি অলস বাদামী কুকুরটির উপরে লাফিয়ে উঠেছে।"

Function getWords(strStruc As String) As String
    Dim i As Long
    Dim s As Long
    Dim strIn As String
    Dim strOut As String

    getWords = ""
    s = numElements(strStruc)
    For i = 1 To s
        strIn = parsePattern(strStruc, i)
        Select Case strIn
            Case ",", ";", ":", """" 'punctuation
                strOut = strIn
                getWords = Trim(getWords)
            Case "ai", "ad" 'indefinite article, definite article
                strOut = getArticle(strIn)
            Case "adj" 'adjective
                strOut = getWord("adj", 1)
            Case "nns" 'noun nominative singular
                strOut = getWord("n", 1)
            Case "nnp" 'noun nominative plural
                strOut = getWord("n", 2)
            Case "nps" 'noun posessive singular
                strOut = getWord("n", 3)
            Case "npp" 'noun posessive plural
                strOut = getWord("n", 4)
            Case "vpr1s" 'Present 1st Person Singular
                strOut = getWord("v", 1)
            Case "vpr2s" 'Present 2nd Person Singular
                strOut = getWord("v", 2)
            Case "vpr3s" 'Present 3rd Person Singular
                strOut = getWord("v", 3)
            Case "vi" 'Infinitive
                strOut = getWord("v", 4)
            Case "vpp" 'Present Participle
                strOut = getWord("v", 5)
            Case "vi" 'Imperative/Subjunctive
                strOut = getWord("v", 6)
            Case "vpa1s" 'Past Tense First Person
                strOut = getWord("v", 7)
            Case "vpa2s" 'Past Tense Second Person
                strOut = getWord("v", 8)
            Case "vpa3s" 'Past Tense Third Person
                strOut = getWord("v", 9)
            Case "vppr1s" 'Present Progressive First Person Singular
                strOut = getWord("v", 10)
            Case "vppr2s" 'Present Progressive Second Person Singular
                strOut = getWord("v", 11)
            Case "vppr3s" 'Present Progressive Third Person Singular
                strOut = getWord("v", 12)
            Case "vppe1s" 'Present Perfect First Person Singular
                strOut = getWord("v", 13)
            Case "vppe2s" 'Present Perfect Second Person Singular
                strOut = getWord("v", 14)
            Case "vpp3s" 'Present Perfect Third Person Singular
                strOut = getWord("v", 15)
            Case "vi1s" 'Imperfect First Person Singular
                strOut = getWord("v", 16)
            Case "vi2s" 'Imperfect Second Person Singular
                strOut = getWord("v", 17)
            Case "v13s" 'Imperfect Third Person Singular
                strOut = getWord("v", 18)
            Case "vsf" 'Simple Future
                strOut = getWord("v", 19)
            Case "vfp" 'Future Progressive
                strOut = getWord("v", 20)
            Case "vc" 'Conditional
                strOut = getWord("v", 21)
            Case "vcp" 'Conditional Perfect
                strOut = getWord("v", 22)
            Case "vci" 'Conditional Imperfect
                strOut = getWord("v", 23)
            Case "pl" 'location prepositions
                strOut = getWord("pl", 1)
        End Select
        getWords = getWords & strOut & " "
    Next i
End Function

[মূল পোস্ট শুরু করুন]

এখনও একটি কাজ চলছে, সময়কাল এবং বিশেষ্য / ক্রিয়া বহুবচনকরণের জন্য যুক্তি যুক্ত করা দরকার, যেমন:

আপনার গড় ভ্রমণ আমাদের অনুমিত ডোজ বা আমার টমেটো ছাড়িয়ে কোনও তাপমাত্রা বাড়িয়ে দেয়।

... যা পার্সেবল, তবে বেশি বোঝায় না।

প্রোগ্রামিংগুলি তাদের নোংরা জেলেদের আমাদের শুয়োরের মাংস ছাড়াই কোনও বাক্যই সক্ষম করে।

ঠিক। সত্যই কোনও বাক্য নয়, তবে কিছু জাভাস্ক্রিপ্ট ত্রুটি বার্তাগুলির চেয়ে ভাল।

তাঁর আবেদনটি প্রতিটি লাইভ প্রশ্ন তুলেছে যা আমার মহিলা তার ইংরেজীরেখায় শীর্ষে রয়েছে।

সহজাত রুটিন প্রায় শীর্ষস্থানীয় ... '

আনোন অনুসরণ করার কোড এই প্রতিযোগিতার একটি সময়সীমা আছে?

[সম্পাদনা 1]

উপরোক্ত উত্পন্ন কোড।

Function getWord(sht As Worksheet) As String
    Dim i As Long
    Dim freq As Long
    Dim c As Long
    Dim f As Double
    Dim fSum As Double

    c = 4
    fSum = WorksheetFunction.Count(sht.Columns(c))
    f = Rnd() * fSum
    i = 2
    Do
        If i >= f Then Exit Do
        i = i + 1
    Loop
    getWord = sht.Cells(i, 1).Value
End Function
Function PCase(str As String) As String
    PCase = UCase(Left(str, 1)) & Right(str, Len(str) - 1)
End Function
Sub doMakeSentences01()
    Dim shtIn As Worksheet
    Dim shtOut As Worksheet
    Dim strSheet As String
    Dim rIn As Long
    Dim rOut As Long
    Dim cFreq As Long
    Dim c As Long
    Dim strPattern As String
    Dim w As Long
    Dim strOut As String
    Dim strIn As String
    Dim strWord As String

    cFreq = 4
    Set shtOut = Sheets("Output")
    rOut = shtOut.Range("A65536").End(xlUp).Row + 1

    strPattern = "anvajncanvian"
    For rOut = rOut To rOut + 1000
        strOut = ""
        For w = 1 To Len(strPattern)
            Set shtIn = Sheets(Mid(strPattern, w, 1))
            strWord = getWord(shtIn)
            If w = 1 Then strWord = PCase(strWord)
            strOut = strOut & strWord & " "
        Next w
        strOut = Trim(strOut) & "."
        shtOut.Cells(rOut, 1).Value = strOut
    Next rOut
End Sub

5
আপনার কোড কোথায়?
#HongKongInd dependence

কোডটির জন্য আমার সম্পাদনা দেখুন।
ব্র্যান্ডন আর গেটস

6

পার্ল 5

ঠিক আছে, প্রোগ্রামের সাহস কেবল এই:

use v5.14;
my %pad = (
    ...
);
sub pad { shift =~ s(\{(.+?)\}){pad($pad{$1}[rand(@{$pad{$1}})])}rogue }
say ucfirst pad '{START}';

এটি মূলত একটি "মাদলিব" ইঞ্জিন। প্রকৃতপক্ষে আকর্ষণীয় বাক্যগুলি তৈরি করতে আপনার %padকিছু ডেটা তৈরি করতে হবে । এখানে একটি উদাহরণ %pad...

my %pad = (
  START => ['{complex}.'],
  complex => [
    '{simple}',
    '{simple}, and {simple}',
    '{simple}, and {complex}',
    '{simple}, but {simple}',
    '{simple}, yet {simple}',
    'even though everybody knows {simple}, {simple}',
    'not only {simple}, but also {simple}',
  ],
  simple => [
    '{thing} {verb}s {thing}',
    '{thing} {verb}s {adverb}',
    '{thing} is {adjective}',
    '{things} {verb} {thing}',
    '{things} {verb} {adverb}',
    '{things} are {adjective}',
    '{thing} {past_verb} {thing}',
    '{things} {past_verb} {thing}',
  ],
  thing => [
    'the {adjective} gorilla',
    'the {adjective} mailbox',
    'Archbishop Desmond Tutu',
    'the beef salad sandwich',
    'the {adjective} stegosaur',
    'the summit of Mt Everest',
    'Chuck Norris',
    'the cast of television\'s "Glee"',
    'a {adjective} chocolate cake',
  ],
  things => [
    '{adjective} shoes',
    'spider webs',
    'millions of {adjective} eels',
    '{adjective} children',
    '{adjective} monkeys',
    '{things} and {things}',
    'the British crown jewels',
  ],
  verb => [
    'love',
    'hate',
    'eat',
    'drink',
    'follow',
    'worship',
    'respect',
    'reject',
    'welcome',
    'jump',
    'resemble',
    'grow',
    'encourage',
    'capture',
    'fascinate',
  ],
  past_verb => [  # too irregular to derive from {verb}
    'loved',
    'ate',
    'followed',
    'worshipped',
    'welcomed',
    'jumped',
    'made love to',
    'melted',
  ],
  adverb => [
    'greedily',
    'punctually',
    'noisily',
    'gladly',
    'regularly',
  ],
  adjective => [
    'enormous',
    'tiny',
    'haunted',
    'ghostly',
    'sparkling',
    'highly-decorated',
    'foul-smelling',
    '{adjective} (yet {adjective})',
    'expensive',
    'yellow',
    'green',
    'lilac',
    'tall',
    'short',
  ],
);

আমি যে জ্ঞানটি আবিষ্কার করেছি তার কয়েকটি নমুনা এখানে %pad। এই বাক্যগুলি দৈর্ঘ্য, বিরামচিহ্ন, ব্যাকরণ ইত্যাদির জন্য সম্পাদনা করা হয়নি, যদিও আমি কিছু উদ্বেগপ্রবণ লোককে শাস্তি দিয়েছি এবং বাক্যগুলির ক্রমটি পুনরায় সাজিয়েছি - সেগুলি আর যে ক্রমটি তৈরি হয়েছিল তা সেভাবে নেই, তবে পরিবর্তে আমি চেষ্টা করছি একটি গল্প বলতে তাদের ব্যবহার করুন: এমন একটি গল্প যা আমি আশা করি যে আপনি মর্মস্পর্শী এবং চিন্তা-ভাবনা উভয়কেই খুঁজে পাবেন।

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

এখন আপনি যদি প্যাডটি প্রোগ্রামাগুলিভাবে
পপুলেশন

জনগণের প্যাডকে ক্রমাগতভাবে পপুলেশন করা খুব একটা চ্যালেঞ্জ নয়। কেবল উইকেশনারি বা অন্য কিছু স্ক্র্যাপ করুন। যদিও এরকম মজাদার বাক্য পাওয়া যায় না।
tobyink

এটি খুব একটা চ্যালেঞ্জ নয়, তবে আমি মনে করি এটি এটি একটি মজার অংশ।
পিওরফেরেট

5

মাইক্রোসফট ওয়ার্ড

এটি গ্রহণযোগ্য কিনা তা আমি নিশ্চিত নই, তবে যেহেতু এইচটিএমএল, আমি মনে করি এটিও গ্রহণযোগ্য হওয়া উচিত।

 =rand(1,1)

নমুনা বাক্য:

সন্নিবেশ ট্যাবে, গ্যালারীগুলিতে এমন আইটেম রয়েছে যা আপনার দস্তাবেজের সামগ্রিক চেহারাটির সাথে সমন্বয় করার জন্য ডিজাইন করা হয়েছে।

আপনি এই গ্যালারীগুলি সারণী, শিরোনাম, পাদচরণ, তালিকা, কভার পৃষ্ঠাগুলি এবং অন্যান্য নথি বিল্ডিং ব্লকগুলি সন্নিবেশ করতে ব্যবহার করতে পারেন।

আপনি বাক্য এবং অনুচ্ছেদে যে কোনও সংখ্যা নির্দিষ্ট করতে পারেন।


4

জাসপ এবং সিম্পলএনএলজি ব্যবহার করে একটি কাজ চলছে

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

import simplenlg.framework.NLGFactory;
import simplenlg.lexicon.Lexicon;
import simplenlg.phrasespec.SPhraseSpec;
import simplenlg.realiser.english.Realiser;

/**
 * Scapes words from Wiktionary then assembles them into sentences
 * 
 * @author pureferret
 *
 */
public class SentenceBuilder {
    static ArrayList<String> ListOfWordTypes= new ArrayList<>(Arrays.asList("Noun","Verb","Adjective","Adverb","Proper noun","Conjunction"));
    private static String RandomWiktWord ="http://toolserver.org/~hippietrail/randompage.fcgi?langname=English";  
    /**
     * @param args
     */
    public static void main(String[] args) {
        Lexicon lexicon = Lexicon.getDefaultLexicon();
        NLGFactory nlgFactory = new NLGFactory(lexicon);
        Realiser realiser = new Realiser(lexicon);

        ArrayList<String> nounList = new ArrayList<String>();
        ArrayList<String> verbList = new ArrayList<String>();
        ArrayList<String> adjeList = new ArrayList<String>();
        ArrayList<String> adveList = new ArrayList<String>();
        ArrayList<String> pnouList = new ArrayList<String>();
        ArrayList<String> conjList = new ArrayList<String>();


        String word= null;
        String wordType = null;

        try {
            newDoc:
            while( nounList.size()<1 ||
                    verbList.size()<1 ||
//                  adjeList.size()<2 ||
//                  adveList.size()<2 ||
                    pnouList.size()<1){
                Document doc = Jsoup.connect(RandomWiktWord).get();
                Element bodyElem = doc.body();
                word = bodyElem.select("h1>span[dir=auto]").get(0).ownText();
                int wtIdx = 0;
                while(wtIdx<bodyElem.select("div#mw-content-text span.mw-headline").size()){
                    wordType = bodyElem.select("div#mw-content-text span.mw-headline").get(wtIdx).id()
                            .replace("_", " ");
                    wtIdx++;
                    switch (wordType) {
                    case "Proper noun":
                        pnouList.add(word);
                        continue newDoc;
                    case "Noun":
                        nounList.add(word);
                        continue newDoc;
                    case "Verb":
                        verbList.add(word);
                        continue newDoc;
                    case "Adjective":
                        adjeList.add(word);
                        continue newDoc;
                    case "Adverb":
                        adveList.add(word);
                        continue newDoc;
                    case "Conjunction":
                        conjList .add(word);
                        continue newDoc;
                    default:
                        break;
                    }
                }
            }
                SPhraseSpec p = nlgFactory.createClause();
                p.setSubject(pnouList.get(0));
                p.setVerb(verbList.get(0));
                p.setObject(nounList.get(0));

                String output2 = realiser.realiseSentence(p); // Realiser created earlier.
                System.out.println(output2);

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.err.println(word + " is a " + wordType);
        } catch (IndexOutOfBoundsException e) {
            e.printStackTrace();
            System.err.println(word + " is a " + wordType);
        }
    }

}

সমস্যা:

  • বাক্য খুব সহজ
  • মাঝে মাঝে 404s (ভাল পরিচালনা ছাড়া!)
  • একবারে কেবল একটি বাক্য তৈরি করে
  • একটি সুইচ কেস ব্যবহার করে!

নমুনা আউটপুট:

পপোলোকা রানার মটরশুটি।
মকর রাশির গ্রীষ্মমণ্ডলগুলি বডলগুলি আপ করে।
বেইজিং প্রতিশব্দ বালিশ বাক্স।
চুকচিগুলি প্রভাবকে প্রভাবিত করে।


3

পিএইচপি

<?php
  $trends = file_get_contents('http://www.google.com/trends/hottrends/widget?pn=p1&tn=30');
  preg_match_all("/widget-title-in-list'>(.+?)</", $trends, $m);

  $q = urlencode($m[1][array_rand($m[1])]);
  $page = file_get_contents("http://www.google.com/search?q=$q&btnI=1");
  preg_match_all('/[A-Z]([\w,]+ ){2,}[\w, ]+?[.!]/', strip_tags($page), $m);

  echo $m[0][array_rand($m[0])];

এটি 30 টি সবচেয়ে ট্রেন্ডিং গুগল অনুসন্ধানগুলি নিয়ে আসে, একটি "আমি ভাগ্যবান মনে করি" অনুসন্ধান সম্পাদন করে এবং তারপরে পৃষ্ঠা থেকে কমপক্ষে 3 টি শব্দের সাথে একটি এলোমেলো বাক্য প্রদর্শন করে।

উদাহরণ:

"ইভেন্টে তাকে পদক প্রিয় হিসাবে বিবেচনা করা হয়েছিল।"

"কেট এক বছর প্রথম দিকে হাই স্কুল থেকে স্নাতক হন।"

"15 এপ্রিল, 2014, জীবিত মানুষের জীবনী সংক্রান্ত নীতিমালার সম্মতি প্রচার করার জন্য" "

"ব্রায়ানের পক্ষে, আমরা, তার পরিবার, সবাইকে ভালোবাসা, প্রার্থনা এবং সহায়তার জন্য ধন্যবাদ জানাতে চাই।"

"এই নিবন্ধটি আমেরিকান বাস্কেটবল খেলোয়াড় সম্পর্কে।"

"দুঃখিত, আপনার ব্রাউজারটি হয় জাভাস্ক্রিপ্ট অক্ষম করেছে বা কোনও সমর্থিত প্লেয়ার নেই" "


3

পাইথন 2.7

python2.7 -c "import urllib2, pprint; pprint.pprint([str(x[:x.find('<')]) for x in unicode(urllib2.urlopen('http://codegolf.stackexchange.com/questions/21571/generate-an-understandable-sentence').read(), 'utf8').split('<p>') if x.find('<') >= 1][1].split('.')[0])"

আউটপুট:

এমন একটি বাক্য তৈরি করুন যা পড়ে বোঝা যায়


স্ট্যাক এক্সচেঞ্জের ভাগ করে নেওয়া ইউআরআই ব্যবহার করুন (যেমন /q/21571পরিবর্তে /questions/21571/generate-an-understandable-sentence)।
ব্ল্যাকলাইট জ্বলজ্বল

2
যেহেতু এটি কোড গল্ফ নয়, পঠনযোগ্যতার জন্য লাইন ব্রেকগুলি দুর্দান্ত হবে।
nyuszika7h

2

শেল স্ক্রিপ্টিং

এই স্ক্রিপ্টটি সর্বদা এই সাইটের শীর্ষে থাকা প্রথম প্রশ্নের শিরোনাম প্রদর্শন করবে। আমার অনুমানটি হ'ল প্রশ্নের শিরোনাম সর্বদা মানব পাঠযোগ্য। এবং এটি পরিবর্তনশীল হবে। সুতরাং যখনই কোনও নতুন প্রশ্ন আসে এবং যখন স্ক্রিপ্টটি কার্যকর হয়, এটি সর্বশেষ প্রশ্নের শিরোনাম দেয়।

curl "codegolf.stackexchange.com" -s |  w3m -dump -T text/html > foo.txt
awk 'f;/more tags/{f=1}' foo.txt > foo1.txt
sed '8q;d' foo1.txt

ট্রায়াল 1 আউটপুট

Find words containing every vowel

ট্রায়াল 2 আউটপুট

Hello World 0.0!

সম্পাদনা

কোনও ফাইল ব্যবহার করা হচ্ছে না। ফাইলগুলি ছাড়া, আমি নীচের স্ক্রিপ্টটি ব্যবহার করতে পারি।

value1=$(curl "codegolf.stackexchange.com" -s |  w3m -dump -T text/html)
echo "$value1" | grep -A 8 "more tags" | tail -1

আউটপুট

Generate an understandable sentence

1
বা এগুলি সরাসরি কোনও ফাইল থেকে পড়ছে না ...
রাফেলকাস্ট্রোকোটো

আমি কোনও ফাইল ব্যবহার না করার জন্য পরিবর্তনগুলি করেছি। এখন, এটি কেবল ভেরিয়েবল ব্যবহার করেছে। এটা কেমন?
রমেশ


2

জাভাস্ক্রিপ্ট (ES6)

var t='';for(f of [_=>foo,_=>null.a,_=>0..toString(0)])try{f()}catch(e){t+=e.message+'\n';}t

এটি কনসোলে চালানো উত্পাদন করে

foo is not defined
null has no properties
radix must be an integer at least 2 and no greater than 36

এমনকি আরও ছোট:t='';for(f of [_=>foo,_=>null.a,_=>0..toString(0)])try{f()}catch(e){t+=e.message+'\n'}t
টুথব্রাশ

2

তবুও একটি পাইথন স্ক্রিপ্ট

ব্যবহারকারী 3058846 এর উত্তর খারাপ নয়, তবে প্রতিবার, প্রতিটি বাক্য প্রদর্শন করে disp এখানে আমি এমন একটি স্ক্রিপ্ট প্রস্তাব করছি যা পাইথনের জেন থেকে এলোমেলো বাক্য আউটপুট দেয় :

from random import choice
import subprocess
proc = subprocess.Popen(('python', '-c', 'import this'), stdout=subprocess.PIPE,)
# Get output of proc, split by newline
sentences = [x for x in proc.communicate()[0].splitlines() if x != '']
print(choice(sentences))

অনুরাগীদের জন্য এক লাইনে :

from random import choice;import subprocess;print(choice([x for x in subprocess.Popen("python -c 'import this'",shell=True,stdout=subprocess.PIPE).communicate()[0].split('\n') if x]))

(বুহ, নোংরা।)

উদাহরণ:

>>> a()  # <--- a is just the oneline above
Explicit is better than implicit.
>>> a() 
Although never is often better than *right* now.
>>> a() 
Errors should never pass silently.
>>> a() 
Special cases aren't special enough to break the rules.


পাইথনের আরও একটি মজাদার উপায়

ধন্যবাদ @ ডডক্টর এই ধারণাটি pourালাও :-) চুপ করে আমদানি আউটপুট এবং তারপরে মডিউলটিতে সিউডো-এনক্রিপ্টড ডিক দিয়ে খেলুন।

import sys, random 
_stdout, sys.stdout = sys.stdout, open('/tmp/trash', 'w')  # silent the stdout just for the import
import this
sys.stdout = _stdout
lst = []
for x in this.s:
    if x in this.d:
        lst.append(this.d[x])
    else:
        lst.append(x)

# Then, example from the interpreter
>>> random.choice(''.join(lst).split('\n'))
'Beautiful is better than ugly.'
>>> random.choice(''.join(lst).split('\n'))
'Although never is often better than *right* now.'
>>>

এটি ব্যবহার করা সাধারণত খারাপ অভ্যাস shell=True। যদিও এই ক্ষেত্রে এটি অনিরাপদ নয়, আপনি ব্যবহারকারীর ইনপুট নিচ্ছেন না, তাই আমি বেছে নেব subprocess.Popen(('python', '-c', 'import this'))
nyuszika7h

আপনি কি জানেন যে আপনি কবিতাটি নিঃশব্দ করতে পারবেন কিনা import this, মডিউলটিতে একটি ভেরিয়েবল thisরয়েছে যা সমস্ত পাঠ্য রয়েছে তবে এনক্রিপ্ট করা আছে। এটি ডিক্রিপ্ট করার জন্য একটি অভিধানও রয়েছে।
থিওডাক্টর

1
@ ডক্টর আমার আপডেট হওয়া উত্তরটি দেখুন: ডি
ম্যাক্সিমিয়াম লর্যান্ট

1

পাইথন ঘ

ব্যাকরণগত আউটপুট উত্পাদন গ্যারান্টিযুক্ত! (সাধারণত।)

import re
from urllib.request import urlopen
from random import random, choice as pick

letters = "abcdefghijklmnopqrstuvwxyz"
wordregex = re.compile(r'a href="/wiki/([a-z_]+)"')
subjects = {1:("I","we"), 2:("you",), 3:("they",)}
objects = {1:("me","us"), 2:("you",), 3:("him","her","it","them")}
patterns = ["{0} {1} {2}.",
            "Why do {0} {1} {2}?",
            "It's because {0} {1} {2}, of course.",
            "Did {0} {1} {2}?",
            "{0} will not {1} {2}!",
            ]

wiktionaryurl = "http://en.wiktionary.org/w/index.php?" + \
              "title=Category:English_{0}&pagefrom={1}"

def getWord(category):
    subset = pick(letters) + pick(letters)
    url = wiktionaryurl.format(category, subset)
    try:
        response = urlopen(url)
    except:
        print("An error occurred while connecting to the Internet!")
        return "fail"
    page = str(response.read())
    word = pick(wordregex.findall(page))
    word = word.replace("_", " ")
    return word

for i in range(10):
    verb = getWord("transitive_verbs")
    subjPerson = pick([1,2,3])
    subj = pick(subjects[subjPerson])
    if random() > 0.4:
        # Use a plural noun for the object
        obj = getWord("plurals")
    else:
        # Use a pronoun for the object
        objPerson = pick([1,2,3])
        while subjPerson == objPerson and subjPerson in (1,2):
            objPerson = pick([1,2,3])
        obj = pick(objects[objPerson])
    sentence = pick(patterns).format(subj, verb, obj)
    sentence = sentence[0].upper() + sentence[1:]
    print(sentence)

একে পুরোপুরি ব্যাকরণগত করতে, এর থেকে আন্ডারস্কোরটি মুছুন wordregex। এটি মাল্টি-ওয়ার্ড এন্ট্রিগুলিকে অস্বীকার করবে যা "আমরা আপনাকে জিপ আপ করি" এর মতো খারাপ বাক্য বাড়ে।

নমুনা রান:

We appropriate journals.
I will not masticate you!
Did you lower me?
Why do I sag estoppels?
They will not proofread you!
It's because you unbeguile mucosae, of course.
Why do I flack zakuski?
You will not visit junkpiles!
Did they goat us?
Why do we prefix nolids?

এখন পর্যন্ত প্রিয় আউটপুট:

They you her.

এটি দেখুন: http://en.wiktionary.org/wiki/you#Verb


0

পাইথন

ফলাফল:

$ python mksentence.py
infringement lecture attainment
Produce more? (Y/N)y
impeachment recoup ornament
Produce more? (Y/N)y
maladjustment edit discouragement
Produce more? (Y/N)y
embellishment guest punishment
Produce more? (Y/N)y
settlement section escapement
Produce more? (Y/N)y
segment withhold recruitment
Produce more? (Y/N)

আমি এখান থেকে শব্দ তালিকাটি ব্যবহার করেছি প্রতিটি স্বরযুক্ত শব্দের সন্ধান করুন

আরও কিছু বিধি যুক্ত করা যেতে পারে। উদাহরণস্বরূপ, যদি "নেস" দিয়ে শেষ হওয়া কোনও শব্দ এবং প্রত্যয় ছাড়াই শব্দটিও সেটটিতে উপস্থিত থাকে তবে এটি একটি বিশেষ্য

সোর্স কোড:

#!/usr/bin/env python
# vim: set fileencoding=utf-8 ts=4 sw=4 tw=72 :

from __future__ import (unicode_literals, absolute_import,
                        division, print_function)

import random                     

if __name__ == "__main__":        
    filename = 'corncob_lowercase.txt'
    noun = set()
    verb = set()
    whole_words_set = {word.rstrip() for word in open(filename)}

    for word in whole_words_set:
        if word.endswith('ment'):
            noun.add(word)
        elif word.endswith('ing'):
            if word[:-3] in whole_words_set:
                verb.add(word[:-3])
            elif word[:-3]+"e" in whole_words_set:
                verb.add(word[:-3]+"e")
    noun_list = list(noun)
    verb_list = list(verb)
    while True:                   
        sentence = "%s %s %s" % (random.choice(noun_list),
                                 random.choice(verb_list),
                                 random.choice(noun_list))                                                                                           
        print(sentence)
        if input("Produce more? (Y/N)").lower() == "n":
            break

3
আমি কি সত্যই পাইথন এবং ইংরাজীতে স্তন্যপান করি, বা আপনি 2 টি বিশেষ্য এবং একটি ক্রিয়া পরিবর্তে 3 বিশেষ্য আউটপুট দিচ্ছেন?
ace_HongKongIndependence

@ ওহো, আমি শেষ মুহুর্তে কোডটি ঠিক করার সিদ্ধান্ত নিয়েছি :-(
শে

0

সজোরে আঘাত

কোনও প্রোগ্রাম যা চালিত করার চেষ্টা করছে যা বিদ্যমান আছে তবে ইনস্টল করা নেই এটি দেয় (লিনাক্স মিন্টে 13)।

$ say
The program 'say' is currently not installed.  To run 'say' please ask your administrator to install the package 'gnustep-gui-runtime'

বিভিন্ন ডিস্ট্রোজে এটি আপনাকে একটি পৃথক বাক্য দেয়।
TheDoctor

এজন্য আমি এলএম 13
ব্যবহারকারী 80551

0

পাইথন ঘ

ম্যাক্সিমের উত্তরে অনুপ্রাণিত হয়ে দ্য জেন অফ পাইথন- এ আরেকটি গ্রহণ করুন ।

import codecs
import os
import sys
import random

stdout = sys.stdout
sys.stdout = open(os.devnull, 'r+')

import this

sys.stdout.close()
sys.stdout = stdout

zen = codecs.decode(this.s, 'rot-13').splitlines()

print(random.choice(zen))

0
var vocab={
    noun:{
        tp:{
            singular:["Mike","Chan","Karl","Mithun","Debasish","Kamal","Group","Crowd","He","She"],
            plural:["They"],
        },
        fp:{
            singular:["I"],
            plural:["We"]
        },
        sp:{
            singular:["You"],
            plural:["You"]
        }

    },
    verbIndicator:{
        tp:{
            present:{
                singular:["is"],
                plural:["are"]
            },
            past:{
                singular:["was"],
                plural:["were"]
            }
        },
        fp:{
            present:{
                singular:["am"],
                plural:["are"]
            },
            past:{
                singular:["was"],
                plural:["were"]
            }
        },
        sp:{
            present:{
                singular:["are"],
                plural:["are"]
            },
            past:{
                singular:["were"],
                plural:["were"]
            }
        }
    },
    verb:{
        continuous:{
            consumer:["having"],
            performer:["doing","playing","watching"]
        },
        simple:{
            consumer:["had"],
            performer:["did","played","watched"]
        }
    },
    dependentAction:{
        consumer:["food","fun","badtime"],
        performer:["movie","cricket","song","dance"]
    },
    independentAction:["Cooking","Playing","singing"],
    adjective:["good","bad","excellent","awesome"],
    object:["boy","Person","girl","Human being","Man","Mental"]
}

var referenceBook={
    figure:["fp","sp","tp"],
    time:["present","past"],
    singularity:["singular","plural"],
    verState:{
        present:["continuous"],
        past:["continuous","simple"]
    },
    objectRole:["consumer","performer"]
};

function getTerm(term) {
    var cur = referenceBook[term] || [];
    var randomIndex = Math.ceil((Math.random() * 93967)) % cur.length;
    return cur[randomIndex]

}
function getToken(key) {
    var path = key.split("-");
    var token = vocab;
    path.forEach(function(s) {
        token = token[s];
   });

    return token[Math.ceil((Math.random() * 1000)) % token.length];

}

function generateSentence(rules) {
    rules.forEach(function(str) {
        var m = str.match(/{[^}]*}/g)

        var variable = {};
        if (m) {
            m.forEach(function(s) {
                s = s.replace(/(^{)|(}$)/g, "");
                variable[s] = getTerm(s);
            });

            for (var each in variable) {
                str = str.replace(new RegExp("{" + each + "}", 'g'), variable[each]);

            }
        }
        var cur = str.split("|");
        var sentence = "";
        cur.forEach(function(s) {
            sentence += " " + getToken(s);

        })
        console.log(sentence);

    })


};
/*

In the rules array, I specify rules for the sentence to be genrated

*/

var rules = [
    "noun-{figure}-{singularity}|verbIndicator-{figure}-{time}-{singularity}|verb-continuous-{objectRole}|dependentAction-{objectRole}", 
    "noun-sp-singular|adjective|object"
];

generateSentence(rules);

4
দয়া করে এটি কোন ভাষাটি বলুন।
রোডলফো ডায়াস

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