Gai*_*ter 5 algorithm nlp arabic
我必须从xml文件中读取阿拉伯字母并将其显示为单词
输入:?????输出:?????? 看起来像..
我不知道该如何用任何语言,要读取哪种算法,我需要一些起点来完成此任务
我也不确定是否添加了正确的标签,请随意进行更改。
参考:http: //en.wikipedia.org/wiki/Arabic_alphabet和http://en.wikipedia.org/wiki/Arabic_characters_in_Unicode
\n\n首先,我对阿拉伯语单词形式了解不多,我只是阅读了有关它的维基百科文档(上面链接)。感谢您给我一个阅读它的理由,但如果我完全搞砸了,请原谅我:-)...
\n\n问题似乎是根据字符在单词中的位置将字符映射到它的正确“大小写”,对吗?我基于您在示例中显示的更改。不管怎样,在英语中这就像第一个字母大写一样。在阿拉伯语中,似乎有 4 个字符大小写(开始、中间、结束和孤立)。如果这是正确的,这里有一个 C# 示例,它执行此映射:
\n\nclass ArabicMapper\n{ \n enum CaseMap{End=0, Middle=1, Beginning=2, Isolated=3};\n Dictionary<char, char[]> charMap; // This maps base letters to one of their four cases.\n public ArabicMapper()\n {\n //Create the char map for each letter in the alphabet. {BaseLetter, {End, Middle, Beginning, Isolated}}\n charMap = new Dictionary<char, char[]>();\n charMap.Add(0627, new char[] { FE8D, 0627, 0627, FE8E }); // \xca\xbealif : Not sure of the rules for middle/beginning, so just using the isolated...\n charMap.Add(0628, new char[] { FE90, FE92, FE91, FE8F }); // b\xc4\x81\xca\xbe :\n //... and so on for each char ...\n\n }\n public string charsToWord(char[] word)\n {\n\n if (word.Length >= 2)\n {\n StringBuilder finalWord = new StringBuilder();\n\n for(int i=0; i<word.Length; i++)\n {\n if (i == 0)\n finalWord.Append((charMap[word[i]])[CaseMap.Beginning]);\n else if(i == word.Length-1)\n finalWord.Append((charMap[word[i]])[CaseMap.End]);\n else\n finalWord.Append((charMap[word[i]])[CaseMap.Middle]);\n }\n return finalWord.ToString();\n }\n else\n {\n (charMap[word[0]])[CaseMap.Isolated].ToString();\n }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\nPS 我没有测试这段代码,所以它可能不起作用。请将其视为伪代码。
\n