[ Man-Wolf @ 07.09.2011. 23:47 ] @
Pozdrav,

Imam malo cudno pitanje/zahtev, ali, da li bi neko mogao da mi isformatira ovaj kod (tj. najbitnija mi je indentacija da bude pravilna) pravilno :-)

Code (python):

import re
from itertools import groupby

def viterbi_segment(text):
    probs, lasts = [1.0], [0]
    for i in range(1, len(text) + 1):
        prob_k, k = max((probs[j] * word_prob(text[j:i]), j)
                        for j in range(max(0, i - max_word_length), i))
        probs.append(prob_k)
        lasts.append(k)
    words = []
    i = len(text)
    while 0 < i:
        words.append(text[lasts[i]:i])
        i = lasts[i]
    words.reverse()
    return words, probs[-1]

def word_prob(word): return dictionary.get(word, 0) / total
def words(text): return re.findall('[a-z]+', text.lower())
dictionary = dict((w, len(list(ws)))
                  for w, ws in groupby(sorted(words(open('word_list.txt').read()))))
max_word_length = max(map(len, dictionary))
total = float(sum(dictionary.values()))
 


Problem je sto Python, malo je reci da pojma nemam, al posto znam sta ovaj kod treba da radi i delimicno kako radi, problem mi je samo da pohvatam celine (gde se zavrsava koji "def" / loop) da bih mogao ovo da prekucam u PHP :-)

Hvala ;)))
[ Man-Wolf @ 08.09.2011. 14:08 ] @
Izvinjavam se sto sam promasio forum, nazalost nisam ni primetio da ima poseban deo za Python pa sam mahinalno stavio u "Ostali programski jezici" :-)

Hvala ;)

EDIT: Shvatio sam da je kod ustvari ok formatiran, samo zbog neiskustva sa Pythonom sam mislio da su se neke petlje "zaplele" i da se indendaticija izgubila :-) Hvala u svakom slucaju

[Ovu poruku je menjao Man-Wolf dana 09.09.2011. u 18:35 GMT+1]