!ZPo      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh i j k l m n o p q r s t u v w x y z { | } ~                  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnNone"#concraftIdentify ambigouos segments (roughly, segments which can be by-passed) in the given DAG. Such ambiguous edges are marked in the resulting DAG with o values.pconcraftCCompute the number of paths from a starting edge to the given edge.qconcraftACompute the number of paths from the given edge to a target edge.Safe"# concraft8An atomic part of morphosyntactic tag with optional POS.concraftBNOTE: could be simplified to Bool, but this way it's more readable concraftA tier description. concraft#Does it include the part of speech? concraftEnd-of-sentence marker. concraftTier grammatical attributes.rconcraftSelect tier attributes.sconcraftSplit the positional tag.rconcraftThe tierconcraftThe positional tagconcraft(Maybe) end-of-sentence markersconcraft The tiersconcraftThe positional tagconcraft(Maybe) end-of-sentence marker  rsNoneM&HconcraftCA set with a non-negative weight assigned to each of its elements.concraftCreate WMap from a map.concraft?Make a weighted collection. Negative elements will be ignored.concraft/Map function over weighted collection elements.concraft)Trim down the set of potential labels to k most probable ones.None"#=?M0 concraft1A sentence with original, textual representation.concraft A sentence.concraftOrthographic form.concraftOut-of-vocabulary (OOV) word. concraft7A segment parametrized over a word type and a tag type."concraftMA word represented by the segment. Typically it will be an instance of the  class.#concraftmA set of interpretations. To each interpretation a weight of appropriateness within the context is assigned.$concraftMap function over segment tags.%concraftInterpretations of the segment.&concraftInterpretations of the segment.'concraft Map function over sentence tags.(concraft Map function over sentence tags. !"#$%&'( !"#$%&'(NoneP;EtconcraftSynchronize two datasets, taking disamb tags from the first one and the rest of information form the second one. In case of differences in token-level segmentation, reference segmentation (token-level) is assumed. Otherwise, it would be difficult to choose correct disamb tags.uconcraftIf both arguments contain only one segment, insert disamb interpretations from the first segment into the second segment. Otherwise, the first list of segments will be returned unchanged.vconcraftAlign two lists of segments.wconcraftCFind the shortest, length-matching prefixes in the two input lists.tvNoneA* .concraft Statistics./concraft!Number of segments in gold corpus0concraftNumber of correct tagsxconcraft Add stats,2concraftAccuracy given stats.3concraftAccuracy weak lower bound.4concraftAccuracy strong lower bound.5concraftAccuracy weak upper bound.6concraftAccuracy strong upper bound.yconcraftAll tags are expanded here.zconcraftPositive tags. ./0123456 ./0123546NoneA{|}~NoneF7concraftHAn analyser performs word-level segmentation and morphological analysis.8concraftReanalyse sentence./From the reference sentence the function takes:Word-level segmentationChosen interpretations (tags)0From the reanalysed sentence the function takes:Potential interpretations9concraftReanalyse paragraph.789789None"#=?MQ :concraft1A sentence with original, textual representation.>concraft&A sentence. type Sent w t = [Seg w t]@concraftOrthographic form.AconcraftOut-of-vocabulary (OOV) word.Bconcraft7A segment parametrized over a word type and a tag type.DconcraftLA word represented by the segment. Typically it will be an instance of the ? class.EconcraftmA set of interpretations. To each interpretation a weight of appropriateness within the context is assigned.FconcraftMap function over segment tags.GconcraftInterpretations of the segment.HconcraftInterpretations of the segment.Iconcraft Map function over sentence tags.Jconcraft Map function over sentence tags.:;<=>?@ABCDEFGHIJBCDEFGH?@A>I:;<=JNone"#gOconcraftNumbers of tokens.QconcraftAmbiguous tokensRconcraft All tokensSconcraftNumbers of tokens.Uconcraft(Only take the chosen tokens into accountVconcraft%Which path type to search: shortest (W) or longest (X)Zconcraft6Configuration related to frequency-based path picking.\concraftZA map which assigns (chosen, not chosen) counts to the invidiaul orthographic forms (see `).]concraftMA naive smoothing related parameter, which should be adddd to each count in \O. , orth :: DAG.EdgeID -> T.Text -- ^ Orthographic form of a given edge^concraft3Select the shortest-path (or longest, depending on VH) in the given DAG and remove all the edges which are not on this path._concraft^Retrieve the edges which belong to the shortest/longest (depending on the argument function:  or ) path in the given DAG.concraftkCompute the minimal/maximal distance (depending on the argument function) from each node to a target node.`concraftCompute chosen/not-chosen counts of the individual orthographic forms in the DAGs. Only the ambiguous segments are taken into account.concraftmRetrieve the orthographic representation of a given segment for the purpose of frequency-based segmentation.concraftInitial statistics.aconcraft[Compute: * the number of tokens participating in ambiguities * the total number of tokensOPQRSTUVXWYZ[\]^_`aVXWY^_`Z[\]aSTUOPQR None"#&hconcraftConfiguration of the schema. All configuration elements specify the range over which a particular observation type should be taken on account. For example, the  [-1, 0, 2]_ range means that observations of particular type will be extracted with respect to previous (k - 1 ), current (k) and after the next (k + 2?) positions when identifying the observation set for position k in the input sentence.jconcraftThe  schema block.kconcraftThe  schema block.lconcraftThe G schema block. The first list of ints represents lengths of prefixes.mconcraftThe G schema block. The first list of ints represents lengths of suffixes.nconcraftThe  schema block.oconcraftThe  schema block.pconcraftThe  schema block.qconcraftThe  schema block.rconcraft Maybe entry.sconcraftBody of configuration entry.uconcraft%Range argument for the schema block. vconcraft0When true, the entry is used only for oov words.wconcraft*Additional arguments for the schema block.xconcraftA block is a chunk of the Ox computation performed within the context of the sentence and the list of absolute sentence positions.concraft0Record structure of the basic observation types.yconcraft{A schema is a block of the Ox computation performed within the context of the sentence and the absolute sentence position.zconcraftBThe Ox monad specialized to word token type and text observations.{concraftSAn observation consist of an index (of list type) and an actual observation value.|concraft;A dummy schema block. TODO: is it a monad, an applicative?}concraftGSequence the list of schemas (or blocks) and discard individual values.concraftConstruct the  structure given the sentence.~concraftTransform a block to a schema depending on * A list of relative sentence positions, * A boolean value; if true, the block computation will be performed only on positions where an OOV word resides.concraft*Orthographic form at the current position.concraft*Orthographic form at the current position.concraft-List of lowercased prefixes of given lengths.concraft-List of lowercased suffixes of given lengths.concraftShape of the word.concraftShape of the word.concraftPacked shape of the word.concraftPacked shape of the word.concraft Entry with additional arguemnts.concraft)Plain entry with no additional arugments.concraft-Null configuration of the observation schema.concraft,Build the schema based on the configuration.concraft9Use the schema to extract observations from the sentence.concraftzValue of the given function with respect to the given sentence and its edge. Return Nothing if the edge is out of bounds.concraftMove the specified number of edges forward or backward. This implementation always choses the shortest path, provided that DAG edges are topologicaly sorted.concraftOOffset: how many edges to move forward (if positive) or backward (if negative)concraftMove from whereconcraftThe underlying sentenceconcraftThe resulting edge ID$hijklmnopqrstuwvxyz{|}~${zy|}stuwvrhijklmnopqx~ None"#Puconcraft%True positives, false positives, etc.concraft True positiveconcraftFalse positiveconcraft True negativeconcraftFalse negativeconcraft2Consistency error (number of edges for which both  and  hold)concraft&Configuration of accuracy computation.concraftLimit calculations to OOV wordsconcraft2Limit calculations to segmentation-ambiguous wordsconcraftgLimit calculations to segments marked with one of the given labels; if empty, the option has no effectconcraftThe underlying tagsetconcraftShould the tags be expanded?concraftCompute segmentation-level accurracy. The actually chosen tags are ignored, only information about the chosen DAG edges is relevant.concraftIf weak, there has to be an overlap in the tags assigned to a given segment in both datasets. Otherwise, the two sets of tags have to be identical. , discardProb0 :: Bool -- ^ Whether sentences with near 0 probability should be discarded from -- evaluation.concraft)Print information about compared elementsconcraftInitial statistics.concraftPCompute the accuracy of the model with respect to the labeled dataset. To each  an additional information xN can be assigned, which will be taken into account when computing statistics.concraftSelect the chosen tags.-Tag expansion is performed here (if demanded)(Tags are replaced by a dummy in case of AmbiSeg comparisonconcraftThe best tags.concraft Implication.concraftGold (reference) DAGconcraftTagged (to compare) DAGconcraft Gold datasetconcraft,Tagged dataset (to be compare with the gold) None"#2PdconcraftTraining configuration.concraftSGD parameters.concraftStore SGD dataset on diskconcraftR0 construction methodconcraftZero probability labelconcraftLabel simplification functionconcraftLabel complexification functionconcraftStrip the label from irrelevant information. Used to determine the set of possible tags for unknown words. TODO: we don't need this with  anymore!?concraftGuess only visible featuresconcraft6Method of constructing the default set of labels (R0).concraftSee concraftSee concraftSee concraftA guessing model.concraftThe tagset considered for the unknown words (TODO: a solution parallel and not 100% consistent with what is implemented in the CRF library) TODO: with ,  is not needed anymore!concraftA tag simplification functionconcraftNEW: instead of an <, a function which makes a complex tag out of a simple tag.eWARNING: we assume, that this function does not conflate simplified tags, i.e., tag to tags of type s6 cannot lead to one and the same complex tag of type t.concraftGStore the entire guessing model apart from the simplification function.concraftuGet the disambiguation model, provided the simplification function. getGuesser :: (M.Map t T.Tag) -> Get (Guesser t)concraft/Schematize the input sentence according to the schema` rules. TODO: looks like there is no reason at all for `Schema w t a` to be parametrized with t?concraftNDetermine the marginal probabilities of the individual labels in the sentence.concraftjReplace the probabilities of the sentence labels with the marginal probabilities stemming from the model.concraftMAscertain the marginal probabilities of to individual labels in the sentence.concraftlReplace the probabilities of the sentence labels with the new probabilities stemming from the CRF sentence.TODO: The behavior for OOV words seems unoptimal, since all possible labels are taken into account, and not only the default CRF ones. Still, it's not necessarily a problem, maybe not even from the speed point of view.concraft7Replace label probabilities with the new probabilities.concraftTrain guesser.concraftSchematized dataset.concraftQRetrieve the tagset in the given sentence, provided the stripping function (see ).concraftCompute the default  for unknown tags.concraftTraining configurationconcraft Training dataconcraftEvaluation dataNone"#2PconcraftTraining configuration.concraftLabel simplification functionconcraftA disambiguation model.concraft0A map which simplifies the tags of generic type tf to simplified positional tags. The motivation behind this is that tags can have a richer structure.iNOTE: it can happen in real situations that a tag is encountered which is not known by the model. It would be nice to be able to treat it as the closest tag that can be handled. Then, one have to define the notion of the similarilty between tags, though... But probably it should be done at a different level (where more information about the structure of t is known)concraftNStore the entire disambiguation model apart from the simplification function.concraftsGet the disambiguation model, provided the simplification function. getDisamb :: (M.Map t T.Tag) -> Get (Disamb t)concraft+Schematize the input sentence according to schema rules.concraftlReplace the probabilities of the sentence labels with the new probabilities stemming from the CRF sentence.concraft7Replace label probabilities with the new probabilities.concraftMDetermine the marginal probabilities of to individual labels in the sentence.concraftDetermine the marginal probabilities of to individual labels in the sentence. marginalsSent :: (X.Word w, Ord t) => Disamb t -> X.Sent w t -> DAG () (X.WMap [P.Atom])concraftNAscertain the marginal probabilities of the individual labels in the sentence.concraftpPrune disamb model: discard model features with absolute values (in log-domain) lower than the given threshold.concraftTrain disambiguation module.concraftSchematized dataset.concraftTraining configurationconcraft Training dataconcraftEvaluation data! !  None"#2PconcraftTraining configuration.concraftLabel simplification functionconcraftA disambiguation model.concraft9A function which simplifies the tags of the generic type th to (i) the corresponding positional tags and (ii) information if the segment represents sentence end.iNOTE: it can happen in real situations that a tag is encountered which is not known by the model. It would be nice to be able to treat it as the closest tag that can be handled. Then, one have to define the notion of the similarilty between tags, though... But probably it should be done at a different level (where more information about the structure of t is known)concraftThe internal tag type.concraftPositional tagconcraftEnd-of-sentence markerconcraftNStore the entire disambiguation model apart from the simplification function.concraftsGet the disambiguation model, provided the simplification function. getDisamb :: (M.Map t T.Tag) -> Get (Disamb t)concraftlReplace the probabilities of the sentence labels with the new probabilities stemming from the CRF sentence.concraft7Replace label probabilities with the new probabilities.concraftMDetermine the marginal probabilities of to individual labels in the sentence.concraftMDetermine the marginal probabilities of to individual labels in the sentence.concraftNDetermine the marginal probabilities of the individual labels in the sentence.concraftPerform disambiguation.concraft#Perform disambiguation (CRF level).concraftpPrune disamb model: discard model features with absolute values (in log-domain) lower than the given threshold.concraftTrain disambiguation module.concraftSchematized dataset.concraft.Split the tag with respect to the given tiers.concraftTraining configurationconcraft Training dataconcraftEvaluation data% %  None"#=concraftDAG annotation, assignes b values to a$ labels for each edge in the graph.concraftConcraft data.concraftSGet the model, given the tag simplification function for the disambigutation model.concraft@Save model in a file. Data is compressed using the gzip format.concraftLoad model from a file.concraft>Replace sentence probability values with the given annotation.concraftInsert the guessing results into the sentence. Only interpretations of OOV words will be extended. The probabilities of the new tags are set to 0.concraft5Extract marginal annotations from the given sentence.concraftFind all optimal paths in the given annotation. Optimal paths are those which go through tags with the assigned probability 1. For a given chosen edge, all the tags with probability 1 are selected.concrafteMake the given path with disamb markers in the given annotation and produce a new disamb annotation.concraft^Determine max probabilities corresponding to individual tags w.r.t. the disambiguation model.concraft]Determine marginal probabilities corresponding to individual tags w.r.t. the guessing model.concraftcDetermine marginal probabilities corresponding to individual tags w.r.t. the disambiguation model.concraft^Determine max probabilities corresponding to individual tags w.r.t. the disambiguation model.concraft)Trim down the set of potential labels to k7 most probable ones for each OOV word in the sentence.concraft-Trim down the set of potential labels to the k most probable ones. concraft7Extend the OOV words with new, guessed interpretations.Determine marginal probabilities corresponding to individual tags w.r.t. the guessing model and, afterwards, trim the sentence to keep only the kr most probably labels for each OOV edge. Note that, for OOV words, the entire set of default tags is considered. concraftPerform guessing, trimming, and finally determine marginal probabilities corresponding to individual tags w.r.t. the guessing model. concraftPerform guessing, trimming, and finally determine marginal probabilities corresponding to individual tags w.r.t. the disambiguation model. concraft|Prune the disambiguation model: discard model features with absolute values (in log-domain) lower than the given threshold.concraftGuesser simplification functionconcraft!Guesser complexification functionconcraft\Segmentation/disamb simplification function (TODO: two different simplification functions?)concraftGuesser simplification functionconcraft!Guesser complexification functionconcraftDisamb simplification function        None"#f$ concraftConfiguration of the schema. All configuration elements specify the range over which a particular observation type should be taken on account. For example, the  [-1, 0, 2]_ range means that observations of particular type will be extracted with respect to previous (k - 1 ), current (k) and after the next (k + 2?) positions when identifying the observation set for position k in the input sentence.concraftThe $ schema block.concraftThe % schema block.concraftThe &G schema block. The first list of ints represents lengths of prefixes.concraftThe 'G schema block. The first list of ints represents lengths of suffixes.concraftThe ( schema block.concraftThe ) schema block.concraftThe * schema block.concraftThe + schema block.concraft Maybe entry.concraftBody of configuration entry.concraft%Range argument for the schema block. concraft0When true, the entry is used only for oov words.concraft*Additional arguments for the schema block.concraftA block is a chunk of the Ox computation performed within the context of the sentence and the list of absolute sentence positions.concraft0Record structure of the basic observation types.concraft{A schema is a block of the Ox computation performed within the context of the sentence and the absolute sentence position.concraftBThe Ox monad specialized to word token type and text observations. concraftSAn observation consist of an index (of list type) and an actual observation value.!concraftA dummy schema block."concraftGSequence the list of schemas (or blocks) and discard individual values.concraftConstruct the  structure given the sentence.#concraftTransform a block to a schema depending on * A list of relative sentence positions, * A boolean value; if true, the block computation will be performed only on positions where an OOV word resides.$concraft*Orthographic form at the current position.%concraft*Orthographic form at the current position.&concraft-List of lowercased prefixes of given lengths.'concraft-List of lowercased suffixes of given lengths.(concraftShape of the word.)concraftShape of the word.*concraftPacked shape of the word.+concraftPacked shape of the word.,concraft Entry with additional arguemnts.-concraft)Plain entry with no additional arugments..concraft-Null configuration of the observation schema./concraft,Build the schema based on the configuration.0concraft9Use the schema to extract observations from the sentence.$  !"#$%&'()*+,-./0$ !"0-, ./#$%&'()*+None"#2s5concraftTraining configuration.8concraftSGD parameters.9concraftStore SGD dataset on disk:concraftR0 construction method;concraft6Method of constructing the default set of labels (R0).<concraftSee =concraftSee >concraftSee ?concraftA guessing model.concraft0Schematize the input sentence with according to schema rules.CconcraftDetermine the k most probable labels for each word in the sentence. TODO: Perhaps it would be better to use sets instead of lists as output?Dconcraft`Insert guessing results into the sentence. Only interpretations of OOV words will be extended.EconcraftCombine C with D.FconcraftTrain guesser.concraftSchematized dataset.FconcraftTraining configurationconcraft Training dataconcraftEvaluation data56789:;<=>?@ABCDEF?@ABCDE56789:;<=>FNone"# MconcraftTraining configuration.UconcraftA disambiguation model.concraft0Schematize the input sentence with according to schema rules.concraftWUnsplit the complex tag (assuming, that it is one of the interpretations of the word).Zconcraft)Perform context-sensitive disambiguation.[concraft0Insert disambiguation results into the sentence.\concraftCombine Z with [.]concraft'Tag labels with marginal probabilities.^concraftpPrune disamb model: discard model features with absolute values (in log-domain) lower than the given threshold._concraftTrain disamb model.concraft%Schematized data from the plain file._concraftTraining configurationconcraft Training dataconcraftEvaluation dataconcraftResultant model MNOQRSPTUVWXYZ[\]^_UVWXY ]Z[\MNOQRSPT_^None"# aconcraftConcraft data.gconcraft@Save model in a file. Data is compressed using the gzip format.hconcraftLoad model from a file.iconcraftTag sentence using the model. In your code you should probably use your analysis function, translate results into a container of ences, evaluate i` on each sentence and embed the tagging results into the morphosyntactic structure of your own.)The function returns guessing results as = elements of the output pairs and disambiguation results as & elements of the corresponding pairs.jconcraftDetermine marginal probabilities corresponding to individual tags w.r.t. the disambiguation model. Since the guessing model is used first, the resulting weighted maps corresponding to OOV words may contain tags not present in the input sentence.kconcraft Train the a model after dataset reanalysis.The  and P instances are used to store processed input data in temporary files on a disk.lconcraft Train the a; model. No reanalysis of the input data will be performed.The  and P instances are used to store processed input data in temporary files on a disk.mconcraftxPrune disambiguation model: discard model features with absolute values (in log-domain) lower than the given threshold.concraftStore dataset on a disk and run a handler on a list which is read lazily from the disk. A temporary file will be automatically deleted after the handler is done.kconcraft"A morphosyntactic tagset to which Bs of the training and evaluation input data must correspond.concraftBAnalysis function. It will be used to reanalyse input dataset.concraftkHow many tags is the guessing model supposed to produce for a given OOV word? It will be used (see Ee) on both training and evaluation input data prior to the training of the disambiguation model.concraft.Training configuration for the guessing model.concraft7Training configuration for the disambiguation model.concraft~Training dataset. This IO action will be executed a couple of times, so consider using lazy IO if your dataset is big. concraftPEvaluation dataset IO action. Consider using lazy IO if your dataset is big.lconcraft"A morphosyntactic tagset to which Bs of the training and evaluation input data must correspond.concraftkHow many tags is the guessing model supposed to produce for a given OOV word? It will be used (see Ee) on both training and evaluation input data prior to the training of the disambiguation model.concraft.Training configuration for the guessing model.concraft7Training configuration for the disambiguation model.concraft~Training dataset. This IO action will be executed a couple of times, so consider using lazy IO if your dataset is big. concraftPEvaluation dataset IO action. Consider using lazy IO if your dataset is big.concraftDirectory to create the file inconcraft Template for concraft Input datasetconcraftHandler abfcdeghijklm abfcdeghijlkm !"#$%&'()*+,--./01234456789:;<=>?@AABCDEFGHIJK--./01234456789:;<=>?LLMNOOPQRSTUUVWXYZ[\]^_`a b b c d e f g h i j k l l m n o p q r s t u v w x y z { | } ~  A A   D                   bbcdefghijkllmnopqrstuvwxyz{|}~                            !"#$%&'&concraft-0.14.2-GteF3tWeVmX8EHhUqSWtgDNLP.Concraft.DAG.Disamb'NLP.Concraft.DAG.Morphosyntax.AmbiguousNLP.Concraft.Morphosyntax.WMapNLP.Concraft.Morphosyntax"NLP.Concraft.Morphosyntax.AccuracyNLP.Concraft.AnalysisNLP.Concraft.DAG.MorphosyntaxNLP.Concraft.DAG.SegmentationNLP.Concraft.DAG.Schema&NLP.Concraft.DAG.Morphosyntax.AccuracyNLP.Concraft.DAG.GuessNLP.Concraft.DAG.DisambSegNLP.Concraft.DAGSegNLP.Concraft.SchemaNLP.Concraft.GuessNLP.Concraft.Disamb NLP.ConcraftNLP.Concraft.Disamb.PositionalNLP.Concraft.Morphosyntax.AlignNLP.Concraft.Format.Temp-crf-chain2-tiers-0.6.0-IpAgeDfCuMU7tealI0y4EX#Data.CRF.Chain2.Tiers.DAG.InferenceMaxProbs MarginalsProbTypeidentifyAmbiguousSegmentsAtomposattseosTierwithPoswithEoswithAttsWMapunWMapfromMapmkWMapmapWMaptrim $fShowWMap$fEqWMap $fOrdWMap $fBinaryWMapSentOsegsorigSentWordorthoovSegwordtagsmapSeg interpsSetinterpsmapSentmapSentO $fFromJSONSeg $fToJSONSeg $fWordSeg $fShowSeg $fShowSentOStatsgoodgoldaccuracyweakLBstrongLBweakUBstrongUBAnalyse reAnaSentreAnaPar AmbiStatsambitotalAmbiCfg onlyChosenPathTypMinMaxFreqFreqConf pickFreqMapsmoothingParampickPathfindPath computeFreqscomputeAmbiStats $fShowAmbiCfg $fEqAmbiCfg $fOrdAmbiCfg$fShowAmbiStats $fEqAmbiStats$fOrdAmbiStats SchemaConforthClowOrthC lowPrefixesC lowSuffixesCknownCshapeCpackedC begPackedCEntryBodyrangeoovOnlyargsBlockSchemaOxObvoid sequenceS_ fromBlockorthBlowOrthB lowPrefixesB lowSuffixesBknownBshapeBpackedB begPackedB entryWithentrynullConffromConf schematize $fBinaryBody$fBinarySchemaConf $fShowBody$fShowSchemaConftpfptnfnceAccCfgonlyOovonlyAmbonlyMarkedWith accTagset expandTag ignoreTagweakAccverbosecollect precisionrecall $fShowStats $fEqStats $fOrdStats TrainConf schemaConfTsgdArgsTonDiskTr0T zeroProbLabel simplifyLabelcomplexifyLabel stripLabel onlyVisibleR0T AnyInterps AnyChosen OovChosenGuesser schemaConfcrf zeroProbLab unkTagSetsimplify complexify putGuesser getGuesser marginals marginalsSenttrainschemed $fShowR0T$fEqR0T$fOrdR0T $fEnumR0T $fDataR0TtiersTDisambtiers putDisamb getDisambprobs probsSentpruneTagposiTaghasEosdisamb $fShowTag$fEqTag$fOrdTagAnnoConcrafttagsetguessNumguesser segmenterdisamber saveModel loadModelfindOptimalPaths disambPathguessMarginalsdisambMarginals disambProbs guessSentguesstaginclude$fBinaryGuesser ReTrainConfinitDmb disambSent$fBinaryDisamb reAnaTrain$fBinaryConcraftghc-prim GHC.TypesTrue inComingNum outGoingNumselectsplitsync moveDisambalignmatch.+.choicepositive encodePar decodeParwriteParreadParbase Data.Foldableminimummaximum computeDistedgeOrth zeroAmbiStatsBaseObmkBaseOb onEdgeWithshift zeroStats.tagset-positional-0.3.1-2k9aF4twgpb3L54oczukQCData.Tagset.Positionalbestimplies goodAndBad3crf-chain1-constrained-0.6.0-5Mjq76hnTcWJetadMT9jE9%Data.CRF.Chain1.Constrained.DAG.Train anyInterps anyChosen oovChosen marginalsCRFinject injectWMaptagSetIn compUnkWMapprobsCRF disambCRFgetModelreplace insertGuessedextracttrimOOVtrimMap!Data.CRF.Chain1.Constrained.TrainunSplit Data.Tuplefstsnd$aeson-1.2.4.0-CKcF1pVTmKD2QUxMGJKTpmData.Aeson.Types.FromJSONFromJSONData.Aeson.Types.ToJSONToJSONwithTemp(temporary-1.2.1.1-5rulmXOl7NP9vYM5qD9sAjSystem.IO.Temp withTempFile