morfette 0.3.4 → 0.3.5
raw patch · 2 files changed
+6/−5 lines, 2 files
Files
morfette.cabal view
@@ -1,5 +1,5 @@ Name: morfette-Version: 0.3.4+Version: 0.3.5 Homepage: http://sites.google.com/site/morfetteweb/ Synopsis: A tool for supervised learning of morphology Description: Morfette is a tool for supervised learning of inflectional
src/GramLab/Perceptron/Multiclass.hs view
@@ -9,10 +9,11 @@ ) where -import Data.Array.ST+import Data.Array.ST import qualified Data.Array.Unboxed as A import Control.Monad.ST import qualified Control.Monad.ST.Unsafe as STUnsafe+import qualified Data.Array.Unsafe as ArrayUnsafe import Data.STRef import Control.Monad import GramLab.Perceptron.Vector@@ -92,7 +93,7 @@ let ((_,lo),(_,hi)) = A.bounds yss ys = [lo..hi] for_ (zip [0..] ss) $ \ (i,(x,y)) -> do- params' <- unsafeFreeze params+ params' <- ArrayUnsafe.unsafeFreeze params let ys' = [ y | y <- ys , yss A.! (i,y) ] y'= decode (MC params') ys' x phi_xy = phi x y@@ -123,8 +124,8 @@ for_ [1..epochs] $ \i -> do iter rate yss xys (c,params,params_a) c' <- readSTRef c- params' <- unsafeFreeze params- params_a' <- unsafeFreeze params_a+ params' <- ArrayUnsafe.unsafeFreeze params+ params_a' <- ArrayUnsafe.unsafeFreeze params_a let w = (fromIntegral c',params',params_a') corr = sum . map (\(j,(x,y)) ->