首页 > 解决方案 > 使用 Google 的 API 将字符串拆分为单词?

问题描述

我试图弄清楚我应该使用哪个 API 来让 Google 智能地将字符串拆分为单词。

输入:

thequickbrownfoxjumpsoverthelazydog

输出:

the quick brown fox jumps over the lazy dog

当我去谷歌翻译并输入字符串(使用自动检测语言)并点击“听”图标让谷歌读出字符串时,它会分解单词并正确读出。所以,我知道他们能够做到。

但我不知道是谷歌翻译的 API 还是他们的文本转语音 API 打破了这些词。或者,如果有任何方法可以在某个 API 响应中获取这些分解的单词。

有没有人有使用 Google 的 API 来做到这一点的经验?

标签: google-apitext-to-speechgoogle-translategoogle-text-to-speechgoogle-translation-api

解决方案


AFAIK,Google Cloud 中没有专门执行此操作的 API,尽管看起来当您使用 Translation API翻译文本时,它确实在后台解析连接的单词。
因此,由于您不能使用与目标语言相同的源语言,您可以做的是翻译成任何语言,然后再翻译回原始语言。不过,这似乎有点矫枉过正。
例如,您可以创建一个功能请求来请求在 NLP API 中实现这样的功能。

但是,根据您的用例,我想您也可以使用另一个Stackoverflow 答案中建议的方法,该方法使用动态编程来推断没有空格的字符串中空格的位置。

另一个用户甚至基于此制作了一个名为wordninja的 pip 包(参见同一篇文章的第二个答案)。

pip3 install wordninja安装它。

示例用法:

$ python
>>> import wordninja
>>> wordninja.split('thequickbrownfoxjumpsoverthelazydog')
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']


推荐阅读