Harflerden Marka Bulma

Katılım
3 Aralık 2008
Mesajlar
42
Excel Vers. ve Dili
2007 Türkçe
Arkadaşlar merhaba,
Aylardır bir marka bulmak istiyorum ama bir türlü başarılı olamadım. Aklıma şöyle bir yöntem geldi, yapılabilirse eminim bir çok kişi faydalanır. Excel'de harflerden kelime kombinasyonları oluşturmak. Böylelikle bu kelimelerden marka oluşturabiliriz ya da bize fikir sunar, düşün düşün bulunamıyor marka maalesef.

Aşağıdaki 17 sessiz, 5 sesli harften çeşitli kombinasyonlarla marka oluşturmak. Örneğin;
- 5 harfli (2 sesli 3 sessiz) harften,
- 6 harfli (3 sesli 3 sessiz) harften,
- 7 harfli (3 sesli 4 sessiz) harften,
- Bir harf bir kaç defa kullanılabilir,
- Aşağıdaki harflerle yüzlerce kelime kombinasyonu oluşturmak.


bcdfghklmnprstvyz
aeiou



 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Tüm kombinasyonları listelemek mi istiyorsunuz?
Yoksa rastgele 5liden 5 tane, 6 lıdan 10 tane 7 liden 10 tane gibi mi?
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Milyonlarca ihtimal içinden enteresan bir kelime bulmak zor olacak.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar,

Asri'nin dediği gibi, kombinasyonlar inanılmaz boyutta olabilir ki-anlamsız görünenler, anlamlı olabilecekleri bile gizler. Kombinasyonları kodlasak bile çok sıkıcı bir liste ortaya çıkacak ve keşke kendim yaratsam diyeceksiniz.

Konuya salt kombinasyon mantığıyla yaklaşmak manasız. Aslında siz, kısmen de olsa bir dil yaratmaya çalışıyorsunuz ve bence konu, iyi bir düşünce egzersizi ...

Uzunluğu belirleyerek sınırları biraz daraltmışsınız ama çözüm uzayını daraltmak için biraz daha fazla kısıt(/lar) gerekiyor.

Harflerin, anlamlı değil ama fonetik olarak uyumlu sözcüklere dönüşmesini istiyorsanız, bir dilin kurallarını temel almalısınız. Bu dil de, ana dilimiz olan Türkçe olabilir (veya daha iyi hakim olduğunuz bir dil varsa o da olabilir).

Burda kastettiğim şey, "Büyük Ünlü Uyumu" ve "Küçük Ünlü Uyumu" kuralları gibi şeyler. Mesela bir sözcüğün ilk hecesinde kalın ünlü varsa, diğer gelen hecede de kalın ünlü kullanımı gibi ...

Uyum kuralları ile birlikte, ikinci etapta heceleme kuralları da devreye girecektir. Sözcükler hecelerden oluşur ve heceler bir pattern/desen oluşturmalıdır. Şöyle ki :

İki harf heceleri (S:Sessiz Harf, Ü : Ünlü Harf)
H1 : S+Ü - Örn: Baba'nin "Ba"'sı
H2: Ü+S - Örn: "Anne" nin "An" ı

Üç harf Heceleri
H3 : S+Ü+S - Örn : Bakmak'ın "Bak"ı gibi

Eğer heceler pattern/desen olarak alınıp üretilirse, ve sesli harf uyum kuralları ile birleştirilip kombine edilirse anlamlı olmasa da, Türkçe'ye uygun fonetik ve kulağa hoş gelebilen rastgele sözcükler üretilebilir. Yani;

5 Harfli Sözcükler : H1+H3, H3+H1
6 Harfli Sözcükler: H1+H1+H1, H1+H2+H1, H3+H3 gibi
7 Harfli Sözcükler : H3+H1+H1, H1+H3,H2 gibi...

Probleme bu şekilde yaklaşılırsa, kapsam daralacak ve hedefe daha yakın atışlar yapılabilecektir. Tabi burada multi-disipliner çalışmak mantıklı olacaktır. Çünkü, Türkçe Öğretmenlerimiz, edebiyatçılarımız kuralları bizden çok daha iyi bilmekteler

İyi çalışmalar
 
Son düzenleme:
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
@leumruk un hecele çalışmasında bir düzenleme yaptım.

Oluşturulacak kombinasyon bu fonksiyona verildiğinde heceleme uygun ise sonuç verecek uygun değil ise boş geçecektir.

Mantığım şu şekildde; bir hecede iki adet sesli yada sessiz yan yana ise onu kabul etme.
Kusursuz değil ancak işe yarar. Üzerinde çalışılır ise daha doğru sonuçlar alınabilir.

arsim = ar-sim
asri = as-ri
asrii = as-ri-i
kral = kral
krallık =
tren = tren
treni =
aeir =
aaasrrrri =


C#:
Function hecele(Deger As String)
harfse = "aâeıiîoöuûüAÂEIİÎOÖUÛÜ"
harfss = "bcçdfgğhjklmnpqrsştvwxyz"
deg = Deger
If Len(deg) = 1 Then
hecele = Deger
Exit Function
End If
For x = Len(deg) To 1 Step -1
t = t + 1 'geçilen harf sayısı
If x <> Len(deg) Then
say = InStr(harfse, Mid(deg, x, 1))
unlusay = InStr(harfse, Mid(deg, x + 1, 1))
If x = 2 And say = 0 Then
    If InStr(harfse, Mid(deg, x - 1, 1)) = 0 Then
        hece = hece & "-" & StrReverse(Mid(deg, x - 1, t + 1))
        Exit For
    End If
End If
If unlusay > 0 Or x = 1 Then
If say > 0 And x <> 1 Then
hece = hece & "-" & StrReverse(Mid(deg, x + 1, t - 1))
t = 1
Else
hece = hece & "-" & StrReverse(Mid(deg, x, t))
t = 0
End If
End If
End If
Next

veri = Mid(StrReverse(hece), 1, Len(hece) - 1)
liste = Split(veri, "-")

For i = 0 To UBound(liste)
   veri = liste(i)
   sesay = 0
   sssay = 0
   hata = False
   For j = 1 To Len(veri)
     If InStr(harfse, Mid(veri, j, 1)) > 0 Then
       sesay = sesay + 1
       sssay = 0
     End If
     If InStr(harfss, Mid(veri, j, 1)) > 0 Then
        sssay = sssay + 1
        sesay = 0
     End If
     If sesay >= 2 Then
       hata = True
       Exit For
     End If
     If sssay >= 2 Then
       hata = True
       Exit For
     End If

   Next j
   If hata Then Exit For
Next i

   If hata = False Then hecele = Mid(StrReverse(hece), 1, Len(hece) - 1) Else hecele = ""

End Function
 

Ekli dosyalar

Katılım
3 Aralık 2008
Mesajlar
42
Excel Vers. ve Dili
2007 Türkçe
Aslında tüm kombinasyonları listelemek istiyorum ya da her çalıştırdığımda farklı kombinasyonlar da olur
 
Katılım
3 Aralık 2008
Mesajlar
42
Excel Vers. ve Dili
2007 Türkçe
Merhabalar,

Asri'nin dediği gibi, kombinasyonlar inanılmaz boyutta olabilir ki-anlamsız görünenler, anlamlı olabilecekleri bile gizler. Kombinasyonları kodlasak bile çok sıkıcı bir liste ortaya çıkacak ve keşke kendim yaratsam diyeceksiniz.

Konuya salt kombinasyon mantığıyla yaklaşmak manasız. Aslında siz, kısmen de olsa bir dil yaratmaya çalışıyorsunuz ve bence konu, iyi bir düşünce egzersizi ...

Uzunluğu belirleyerek sınırları biraz daraltmışsınız ama çözüm uzayını daraltmak için biraz daha fazla kısıt(/lar) gerekiyor.

Harflerin, anlamlı değil ama fonetik olarak uyumlu sözcüklere dönüşmesini istiyorsanız, bir dilin kurallarını temel almalısınız. Bu dil de, ana dilimiz olan Türkçe olabilir (veya daha iyi hakim olduğunuz bir dil varsa o da olabilir).

Burda kastettiğim şey, "Büyük Ünlü Uyumu" ve "Küçük Ünlü Uyumu" kuralları gibi şeyler. Mesela bir sözcüğün ilk hecesinde kalın ünlü varsa, diğer gelen hecede de kalın ünlü kullanımı gibi ...

Uyum kuralları ile birlikte, ikinci etapta heceleme kuralları da devreye girecektir. Sözcükler hecelerden oluşur ve heceler bir pattern/desen oluşturmalıdır. Şöyle ki :

İki harf heceleri (S:Sessiz Harf, Ü : Ünlü Harf)
H1 : S+Ü - Örn: Baba'nin "Ba"'sı
H2: Ü+S - Örn: "Anne" nin "An" ı

Üç harf Heceleri
H3 : S+Ü+S - Örn : Bakmak'ın "Bak"ı gibi

Eğer heceler pattern/desen olarak alınıp üretilirse, ve sesli harf uyum kuralları ile birleştirilip kombine edilirse anlamlı olmasa da, Türkçe'ye uygun fonetik ve kulağa hoş gelebilen rastgele sözcükler üretilebilir. Yani;

5 Harfli Sözcükler : H1+H3, H3+H1
6 Harfli Sözcükler: H1+H1+H1, H1+H2+H1, H3+H3 gibi
7 Harfli Sözcükler : H3+H1+H1, H1+H3,H2 gibi...

Probleme bu şekilde yaklaşılırsa, kapsam daralacak ve hedefe daha yakın atışlar yapılabilecektir. Tabi burada multi-disipliner çalışmak mantıklı olacaktır. Çünkü, Türkçe Öğretmenlerimiz, edebiyatçılarımız kuralları bizden çok daha iyi bilmekteler

İyi çalışmalar
Hocam çok aradık ama inan hiç elle tutulur bir şey bulamadık. Böyle bir sistem yaparsak insanlarda faydalanır, marka (boş domain) bulmak çok zor. Örneğin "bershka" gibi bir marka oluşturmak istiyoruz, 5-6-7 harfli olabilir, Türkçe karakter olmaması gerekiyor domainden dolayı, marka isteyen bir çok kişi Türkçe karakter istemez.

Kısıt olarak aslında bir şey koymasak daha iyi, çünkü bershka örneğindeki gibi 4 sessiz harf yan yana gelmiş ama okunuşu çok güzel.
 
Katılım
3 Aralık 2008
Mesajlar
42
Excel Vers. ve Dili
2007 Türkçe
@leumruk un hecele çalışmasında bir düzenleme yaptım.

Oluşturulacak kombinasyon bu fonksiyona verildiğinde heceleme uygun ise sonuç verecek uygun değil ise boş geçecektir.

Mantığım şu şekildde; bir hecede iki adet sesli yada sessiz yan yana ise onu kabul etme.
Kusursuz değil ancak işe yarar. Üzerinde çalışılır ise daha doğru sonuçlar alınabilir.

arsim = ar-sim
asri = as-ri
asrii = as-ri-i
kral = kral
krallık =
tren = tren
treni =
aeir =
aaasrrrri =


C#:
Function hecele(Deger As String)
harfse = "aâeıiîoöuûüAÂEIİÎOÖUÛÜ"
harfss = "bcçdfgğhjklmnpqrsştvwxyz"
deg = Deger
If Len(deg) = 1 Then
hecele = Deger
Exit Function
End If
For x = Len(deg) To 1 Step -1
t = t + 1 'geçilen harf sayısı
If x <> Len(deg) Then
say = InStr(harfse, Mid(deg, x, 1))
unlusay = InStr(harfse, Mid(deg, x + 1, 1))
If x = 2 And say = 0 Then
    If InStr(harfse, Mid(deg, x - 1, 1)) = 0 Then
        hece = hece & "-" & StrReverse(Mid(deg, x - 1, t + 1))
        Exit For
    End If
End If
If unlusay > 0 Or x = 1 Then
If say > 0 And x <> 1 Then
hece = hece & "-" & StrReverse(Mid(deg, x + 1, t - 1))
t = 1
Else
hece = hece & "-" & StrReverse(Mid(deg, x, t))
t = 0
End If
End If
End If
Next

veri = Mid(StrReverse(hece), 1, Len(hece) - 1)
liste = Split(veri, "-")

For i = 0 To UBound(liste)
   veri = liste(i)
   sesay = 0
   sssay = 0
   hata = False
   For j = 1 To Len(veri)
     If InStr(harfse, Mid(veri, j, 1)) > 0 Then
       sesay = sesay + 1
       sssay = 0
     End If
     If InStr(harfss, Mid(veri, j, 1)) > 0 Then
        sssay = sssay + 1
        sesay = 0
     End If
     If sesay >= 2 Then
       hata = True
       Exit For
     End If
     If sssay >= 2 Then
       hata = True
       Exit For
     End If

   Next j
   If hata Then Exit For
Next i

   If hata = False Then hecele = Mid(StrReverse(hece), 1, Len(hece) - 1) Else hecele = ""

End Function
Hocam çok teşekkürler emeğiniz için. Ben internette çok baktım ama bir türlü formülü nasıl çalıştıracağımı bulamadım :( Excel 2007 kullanıyorum verdiğiniz kodların çalışması için .xlsm uzantısı olması gerekiyormuş onu bile yeni öğrendim ama yinede çalıştıramadım, altın üyelik aldım ekli dosyayı indirebilmek için onaylanmasını bekliyorum, onaylanırsa hemen deneyeceğim.
 
Üst