2011-02-24 9 views
6

मैं एक एल्गोरिथ्म बेहतर, यह पता लगाने या, भले ही शब्द उत्पन्न करने के लिए php/जावा में एक कार्यान्वयन जो उपयोगकर्ता के लिए सुझाव दिया जाएगा कुछ पहचानकर्ता की तरह का चयन करने के लिए है की जरूरत है लेकिन मैं उन्हें कुछ हद तक याद रखने में आसान होना चाहते हैं, जैसे ' winifuxa ',' thonqi ',' oqriman 'और इतने पर लेकिन कुछ नहीं' nxdFgtqI 'यादृच्छिक अर्थहीन कैसे उत्पन्न करें, लेकिन साथ ही शब्दों को याद रखना आसान है?

+2

एक साथ अक्षरों चिपके द्वारा यह मत करो। व्यंजनों और स्वरों के अनुवांशिक संयोजनों में फोनेम (या सिर्फ अक्षरों) को एक साथ चिपके हुए अक्षरों का निर्माण करें। फायदा। –

+1

क्या यह थोड़ा सा व्यक्तिपरक नहीं है? किसके लिए याद रखना आसान है? मैं अनुमान लगा रहा हूं कि जब आप याद रखना आसान और परिभाषित करते हैं तो समस्या हल हो जाएगी ... –

+1

एक बच्चा को ध्वनि पहचान सॉफ्टवेयर रखें और रिकॉर्ड हिट करें। – corsiKa

उत्तर

6

यहाँ एक समारोह है कि यादृच्छिक शब्द उत्पन्न करता है जैसे आप का वर्णन कर रहे हैं। यह पत्र "क्यू" का उपयोग नहीं करता है क्योंकि वह एक अपरिहार्य शब्द बना रहा है।

<?php 
    //generate random consonants separated by vowels 
    function generate_faux_word($letters = 5){ 

     //define arrays of consonants and vowels 
     //no q, it's tough to remember 
     $consonants = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'); 
     $vowels = array('a', 'e', 'i', 'o', 'u'); 

     $ret_word = ""; 
     $consonant_toggle = true; 
     //randomly choose a consonant then a vowel until the word is as long as the parameter 
     while(strlen($ret_word) < $letters){ 
      if ($consonant_toggle){ 
       $ret_word .= $consonants[array_rand($consonants)]; 
       $consonant_toggle = false; 
      }else{ 
       $ret_word .= $vowels[array_rand($vowels)]; 
       $consonant_toggle = true; 
      } 

     } 

     return $ret_word; 
    } 

    echo generate_faux_word(); 
    echo "<br />"; 
    echo generate_faux_word(); 
    echo "<br />"; 
    echo generate_faux_word(6); 
    echo "<br />"; 
    echo generate_faux_word(4); 

?> 

एक नमूना उत्पादन होता है: muher sucok kozive xaso

+0

धन्यवाद! यह ठीक वैसा ही है जैसा मुझे चाहिए! अच्छी तरह से काम :) –

0

क्या आप एक समय में एक स्ट्रिंग एक वर्ण बना सकते हैं और प्रत्येक चरित्र को 97-122 (समावेशी) के बीच यादृच्छिक मान बना सकते हैं। अक्षरों ए-जेड (गैर कैप्स) अक्षरों के लिए ये ascii दशमलव मान हैं। और फिर निश्चित रूप से उन्हें स्ट्रिंग में परिवर्तित करें।

हालांकि, या नहीं, इस "आराम से याद करने के लिए" की अपनी परिभाषा पर आधारित है काम करेगा। वे सभी मुझे याद रखने के लिए बहुत मुश्किल लग रहे हैं।

3

टेलीग्राफ के दिनों में वापस, जब संचार प्रति अक्षर का आरोप लगाया गया था, काफी कुछ कंपनियों कोड संभव के रूप में कुछ अक्षर से पूरा वाक्य एन्कोड करने के लिए तैयार की। उनमें से ज्यादातर की मूलभूत आवश्यकता थी: अक्षरों का संग्रह जो याद रखना काफी आसान था। सामान्य नियम एक स्वर के समूहों और दो व्यंजनों के बीच परिवर्तन की तरह कुछ था। यह (उदाहरण के लिए) "labdon" की अनुमति देगा, लेकिन "aobldn" नहीं (एक ही अक्षर, अलग आदेश)। इस तरह के नियम के बाद आप जो भी अनुक्रम उत्पन्न करते हैं, वह उच्चारण के लिए उचित रूप से आसान होता है, इसलिए कोई भी इसे सभी व्यक्तिगत अक्षरों को याद रखने के बजाय अनिवार्य रूप से एक शब्द के रूप में याद रख सकता है।

1

एक शब्दकोश का प्रयोग करें और दो शब्द चुनें। उन्हें एक यादृच्छिक बिंदु पर विभाजित करें और उनसे जुड़ें।

उदाहरण:

IDEA -> IDE 
WITHOUT -> THOUT 
----------- 
IDETHOUT 
भी बेहतर परिणाम के लिए

, बंटवारे बिंदु पर नियंत्रण (जैसे पहला शब्द: एक स्वर में विभाजन, दूसरा शब्द: विभाजन एक व्यंजन से पहले और एक तरह से है कि जिसके परिणामस्वरूप अक्षरों = 3)।

5

उच्चरण शब्द पैदा करने के लिए एक पुस्तकालय है। लाइब्रेरी का एक लिंक यहां दिया गया है: http://www.multicians.org/thvv/gpw.html। उस पृष्ठ पर जावा स्रोत फ़ाइल का एक लिंक है। मैं यह पहली बार के लिए अजगर पुस्तकालय मिल गया था: http://www.preetk.com/node/pygpw-generate-pronouncable-words/

+0

बढ़िया! इस समाधान के लिए धन्यवाद, लेकिन एक और लड़के ने PHP समाधान प्रदान किया, जो वास्तव में उस समय मेरे लिए बेहतर काम करता है! –

0

बकवास वर्ड जेनरेटर। यह @ जेरी कॉफिन के बारे में बात करने के समान ही कई अलग-अलग संरचनाओं का उपयोग करके बनाया गया था। मज़ा, लेकिन जरूरी नहीं सहायक! http://www.mygengen.com/gengens/view/nonsense-words

0

सी #

private static string RandomWord(int length) 
    { 
     var consonants = new[] { "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "x", "y", "z" }; 
     var vowels = new[] { "a", "e", "i", "o", "u" }; 
     var word = ""; 
     var b = true; 
     for (var i = 0; i < length; i++) 
     { 
      word += b ? consonants[Rng.Next(consonants.Length)] : vowels[Rng.Next(vowels.Length)]; 
      b = !b; 
     } 
     return word; 
    } 
संबंधित मुद्दे