예제 #1
0
        public static string GetStrFromEntry(List <string> strList, int minId, int maxId, List <string> lemmaList = null)
        {
            int min = 0;
            int max = 0;

            if (strList == null)
            {
                return("");
            }
            if (minId < 0 || maxId < 0 || maxId >= strList.Count)
            {
                min = 0;
                max = strList.Count - 1;
            }
            else
            {
                min = minId;
                max = maxId;
            }
            StringBuilder sb = new StringBuilder(100);

            for (int i = min; i <= max; i++)
            {
                if (i >= strList.Count)
                {
                    break;
                }
                if (sb.Length > 0)
                {
                    sb.Append(" ");
                }
                if (lemmaList == null || i + 1 > lemmaList.Count)
                {
                    sb.Append(strList[i]);
                }
                else
                {
                    if (MPFrameworkFunctions.IsAllLower(lemmaList[i]))
                    {
                        sb.Append(strList[i].ToLower());
                    }
                    else if (MPFrameworkFunctions.IsAllUpper(lemmaList[i]))
                    {
                        sb.Append(strList[i].ToUpper());
                    }
                    else if (MPFrameworkFunctions.IsFirstUpper(lemmaList[i]))
                    {
                        string firstCapital = Char.ToUpper(strList[i][0]).ToString() + strList[i].Substring(1).ToLower();
                        sb.Append(firstCapital);
                    }
                    else
                    {
                        sb.Append(strList[i]);
                    }
                }
            }
            return(sb.ToString());
        }
예제 #2
0
        public static Dictionary <string, ProcessedTermEntry> ReadFromFile(string inputFile)
        {
            string inputStr = File.ReadAllText(inputFile, Encoding.UTF8);

            ProcessedTermEntry[] terms = MPFrameworkFunctions.DeserializeString <ProcessedTermEntry[]>(inputStr);
            Dictionary <string, ProcessedTermEntry> res = new Dictionary <string, ProcessedTermEntry>();

            foreach (ProcessedTermEntry pte in terms)
            {
                if (!res.ContainsKey(pte.lowercaceForm))
                {
                    res.Add(pte.lowercaceForm, pte);
                }
            }
            return(res);
        }
예제 #3
0
        /// <summary>
        /// Loads the configuration from a specified <c>inputFile</c>.
        /// </summary>
        /// <param name='inputFile'>
        /// Input file.
        /// </param>
        public void Load(string inputFile)
        {
            string inputStr             = File.ReadAllText(inputFile, Encoding.UTF8);
            MPAlignerConfiguration conf = MPFrameworkFunctions.DeserializeString <MPAlignerConfiguration>(inputStr);

            dictConfEntryDict          = conf.dictConfEntryDict;
            mosesPath                  = conf.mosesPath;
            translConfEntryDict        = conf.translConfEntryDict;
            keepTrackOfFiles           = conf.keepTrackOfFiles;
            logLevel                   = conf.logLevel;
            forceEnDictInterlingua     = conf.forceEnDictInterlingua;
            forceEnTranslitInterlingua = conf.forceEnTranslitInterlingua;
            outputFormat               = conf.outputFormat;
            excDictEntryDict           = conf.excDictEntryDict;
            allowTrimmedAlignments     = conf.allowTrimmedAlignments;
            stopWordListEntryDict      = conf.stopWordListEntryDict;
            langPairEntryDict          = conf.langPairEntryDict;
            alignmentThreads           = conf.alignmentThreads;
            useMultiThreadedExecution  = conf.useMultiThreadedExecution;
            printTopTrgForSrc          = conf.printTopTrgForSrc;
            concLen = conf.concLen;
        }
예제 #4
0
        /// <summary>
        /// Saves the configuration to a specified <c>outputFile</c>.
        /// </summary>
        /// <param name='outputFile'>
        /// Output file.
        /// </param>
        public void Save(string outputFile)
        {
            string outputStr = MPFrameworkFunctions.SerializeObjectInstance <MPAlignerConfiguration>(this);

            File.WriteAllText(outputFile, outputStr, Encoding.UTF8);
        }
예제 #5
0
        public static PreprocessedTermData ReadFromFile(string inputFile)
        {
            string inputStr = File.ReadAllText(inputFile, Encoding.UTF8);

            return(MPFrameworkFunctions.DeserializeString <PreprocessedTermData>(inputStr));
        }