Ben anlatmaya çalışırken bu tuhaf, bu yüzden sabırlı olun.
Temel sorun: Ben büyük bir dize var - bu kullanıcıya bağlı olarak değişen uzunluklarda olabilir. Benim işim kullanıcıya bağlı bu büyük dize elde etmek, daha sonra bir etiket bulutu yapmak için bir yazılım diğer parçası onu göndermek. Hayat benim için kolay olsaydı, ben sadece her şeyi gönderebilir. Ancak, etiket bulutu yazılım sadece 1000 kelime uzunluğunda bir dize kabul edecektir, bu yüzden en önemli kelimeleri göndermek için benim dize bazı işler yapmak gerekir.
Benim ilk düşünce kelimelerin her geçtiği saymak ve sıralamak sonra, her kelimenin sayısı ile bir dizi içine tüm bu atmak oldu.
array(517) (
"We" => integer 4
"Five" => integer 1
"Ten's" => integer 1
"best" => integer 2
"climbing" => integer 3
(etc...)
, Burada Form ben yeni bir dizeyi oluşturmak ve her kelime misli sayısını tükürmek. Toplam dize uzun 1000 kelime vurur kez, ben dur. Bu bir sorun oluşturur.
Kullanıcının kelime "elma" 900 kez yukarı gösterir ve kelime "kedi" 100 kez gösterir diyelim. Oluşan Kelime Bulutu sadece iki kelimeden oluşacak.
Benim fikrim bir şekilde diğer kelimelere oranı, bir çeşit kelimeleri tükürmek için. Oranı büyük değil nerede benim girişimleri bugüne kadar farklı veri kümeleri üzerinde başarısız - bir sürü kelime "1" de vardır, özellikle, böylece OBEB çok düşük yapım.
Bu ben başımı alamıyorum, basit bir matematik problemi olduğunu anlamaya, böylece Stackoverflow olduğu kehanet açın.
şimdiden teşekkürler.