首页 > 解决方案 > 是否有任何 Python 库可以将平假名中的句子转换为汉字?

问题描述

如果我有一个用平假名写的短语或句子,例如「おふろはいる」,我想翻译/猜测字符串的适当汉字。

我找到了从汉字到平假名、片假名、罗马字或英语的库,但我还没有找到相反的库。字典适用于单个单词但不适用于句子。

标签: nlp

解决方案


原帖(见下文):我不这么认为,因为从平假名句子到汉字确实需要解析整个短语的语言和含义,而不是仅仅进行字符查找之类的操作。为了解析整个语言,你真的需要像谷歌翻译这样的全部力量。获得功能性的一种方法可能是以编程方式使用谷歌翻译的 api(或其他在线翻译工具),它使用高级算法来解释句子的完整含义,然后自动选择适当的汉字。

另一方面,如果您的句子使用空格来描述单词,那么您可能会遇到与您提到的库类似的东西。在这种情况下,Jisho.org 可能有一个面向公众的 api。

编辑:我还没有让它工作,但我认为你可能有运气使用这个谷歌翻译 api python 包(https://github.com/ssut/py-googletrans)。当前存在一个错误(https://github.com/ssut/py-googletrans/issues/286),因此如果您对其进行测试,请使用它pip3 install googletrans==3.1.0a0来获取工作版本。

目标是基本上解析“你的意思是?”的结果。 在此处输入图像描述

编辑2:啊哈,我知道它藏在某个地方。它被埋了,但我们可以把它挖出来。它适用于罗马字,因此如果您转换为罗马字然后执行以下操作,那么您可以获得您想要的。

from googletrans import Translator
translator = Translator()

res = translator.translate('ofurohairu')

res.extra_data['translation'][0][1]
#Output: 'お風呂はいる'

# This apparently also works for hiragana:
res = translator.translate('おふろはいる')

res.extra_data['translation'][0][1]
#Output: 'お風呂はいる'

推荐阅读