我想弄清楚我应该使用哪个API来让谷歌智能地将字符串分割成单词。
输入:
thequickbrownfoxjumpsoverthelazydog
输出:
the quick brown fox jumps over the lazy dog
当我去谷歌翻译和输入字符串(自动检测语言),然后点击"听"图标让谷歌读出字符串,它会将单词分解并正确读出。所以,我知道他们能做到。
但我不能弄清楚的是,是谷歌翻译的API还是他们的文本到语音的API在分解单词。或者是否有办法在某个API响应中获得这些分解的单词。
有没有人有使用谷歌api的经验?
在Google Cloud中没有一个API专门做这个,虽然,看起来当你使用翻译API翻译文本时,它确实在后台解析连接的单词。
所以,由于你不能在源语言和目标语言中使用它,你能做的是翻译成任何语言,然后再翻译回原始语言。不过这似乎有点过头了。
你可以创建一个特性请求来请求在NLP API中实现这样一个特性。
但是,根据您的用例,我认为您也可以使用其他Stackoverflow答案中建议的方法,该方法使用动态规划来推断没有空格的字符串中的空格位置。
另一个用户甚至在此基础上制作了一个名为wordninja的pip包(参见同一帖子的第二个答案)。
pip3 install wordninja
.
使用例子:
$ python
>>> import wordninja
>>> wordninja.split('thequickbrownfoxjumpsoverthelazydog')
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']