Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗Update the question所以堆栈溢出的值小于aa>。
这里是专家组。
来源句:小__健気_美_月_
代词:_________
我想得到汉字的表示法,如下所示
小:しょう
健気:けなげ
美:_
月:_
我认为on-topic是一种算法,但是它认为有时可能会因为连续的平假名而失败,所以有没有更好的算法来解决这个问题呢?
justhal是对的,让我们把原句和代词句看作字符串,所以我想做的是把汉字和发音匹配起来。
最佳答案
/警告:请不要说我不是日语专家,还只是在学日语。
据我所知,无论有没有字典,用计算机算法都不能100%可靠地解决这个问题。我建议放弃。或使用字典进行非完美处理(有字典比没有字典好)
最重要的是,汉字不是一个西方字母。汉字是一种与概念/观念相联系的符号,概念结合在一起指向某个对象,该对象有一个(可发音的)单词与之相联系。现在,汉字已经列出了常用读物(“on/”kun”),但也有例外。
您的问题转化为:“给定的通配符序列与字母混合,将给定字符串中的每个通配符与字母序列匹配。”。
例子:
猫に九生あり。-> +に++あり。
下面是你马上会遇到的困难。
你不能毫不含糊地把发音分成与某些汉字有关的部分对于像社(__)这样的简单事物,你可以用你的算法来识别映射到音节的有效字母序列(你不能把_分成两个不同的部分),但是你最终会遇到有多个部分或有特殊阅读的单词。例:木陰(こかげ)哪个字母属于哪个汉字?
单词/短语的模糊分割也就是说,一个粒子可以成为阅读的一部分。现在,在这两个“不”中,哪一个属于哪一个汉字?
名字和风格化的外来词。前两个例子可以用字典来解决。名字需要特别的字典(一读作“kazuki”,尽管一读作“on”或“kun”时没有“kazu”)。另一个很好的例子是死亡笔记中的雅加米之光,它有一个外来词“光”(通常读作“月”,通常读作“月”),显然,“光”不读作“光”至于外来词,《杀戮者》中的火炎球(按主要字符)读作“フャイヤーーール”(“fireball”在英语中),但显然汉字没有这些读数。
这些问题无法用算法明确地解决,因此将没有匹配字符串的算法。由于2,LCS和类似的例程将导致不正确的拆分。
要使用字典,您可以使用edict或kanjidic中的数据,但是,这并不能保证完美的解决方案你可能还想调查“mecab”项目。
--编辑--
我认为lcs是一种算法,但它认为它可能会失败,有时由于连续平假名,所以有没有更好的算法来解决这个问题?
你不能这样解决如果只想将短语拆分为单词,则需要加载字典(15兆字节以上的数据)并对照字典检查单个单词,此外,还必须处理动词形式才能在字典中找到单词。简单的通配符匹配在这里不起作用。
关于string - 如果我知道所有句子的发音,如何获取句子中的汉字发音? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18952553/