دوست عزیز این کاری که داری بهش فکر می کنی خب فرایند ساده ای نیست. یک پروسه طولانی مدت باید طی کرد تا بشه یک همچین قابلیت رو به عرصه عمل رسوند.
به لحاظ فنی، ساختن کلماتی متشکل از یک سری حروف (به صورت رندوموار) خب کار پیچیده ای نیست:
chars = ['س', 'و', 'ا', 'ی', 'ل', 'م', 'د', 'ر'];
howManyWords = 4;
howManyCharUtmost = 5;
var words = [];
for (var i=howManyWords; i>0; i--){
randInt = getRandomInt(1,howManyCharUtmost);
var word = "";
for (var j; randInt>=1; randInt--){
word += chars[Math.floor(Math.random()*chars.length)];
}
words.push(word);
}
document.getElementById("p3").innerHTML = words;
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
ولی اصل قصه اینه که بتونیم متوجه بیشیم که آیا این واژگان به لحاظ معانی قابل قبول هستند یا نه.
همچنین لازم هست که تشخیص بدیم که واژگان ایجاد شده چجور بار معنایی دارن. همچنین در چه زبانی معنیدار هستند؟ فارسی/عربی یا ...
ایده ای که من دارم و شاید بشه به صورت یک سرنخ ازش استفاده کرد برای پیاده سازی این موضوع، اینه که از یک سری بانک های اطلاعاتی مثل لغت نامه ها (عمید، معین، دهخدا و ..) استفاده کنی به عنوان شاخص تشخیص گر. به عبارت بهتر افزونه کلمه ساز تو باید بعد از ساختن یک سری کلمه، توسط واژگان از پیش تعریف شده در لغت نامه های مذکور بیاد کلمات ساخته شده رو اعتبارسنجی بکنه.
خیلی نمی تونم ریز بشم توی این الگوریتمی که گفتم (استفاده از بانک های اطلاعاتی واژگان)، فقط میخواستم بگم شاید ساده ترین روشی که می تونی ازش استفاده بکنی برای پیاده سازی یک افزونه ای به اسم کلمه ساز، شاید همین باشه.
این نکته رو هم گویشزد کنم که مفاهیمی همچون data mining و data analysis هم در این عرصه خیلی حرفه ای تر می تونن عمل کنن و مبتنی بر خوشه بندی و کلاسترینگ کردن دیتا و همچنین train کردن این فرایند میتونن تا حد خوبی همچین مواقع مفید واقع بشن. شایان ذکر هست که پیاده سازی یک همچین پلتفرمی که بتونه همچین فرایندی رو که شما در سوالت گفتی به صورت عملی انجام بده کار نسبتا پیچیده و هزینه برداری هست.
موفق باشید.