google-api - 使用 Google 的 API 将字符串拆分为单词?
问题描述
我试图弄清楚我应该使用哪个 API 来让 Google 智能地将字符串拆分为单词。
输入:
thequickbrownfoxjumpsoverthelazydog
输出:
the quick brown fox jumps over the lazy dog
当我去谷歌翻译并输入字符串(使用自动检测语言)并点击“听”图标让谷歌读出字符串时,它会分解单词并正确读出。所以,我知道他们能够做到。
但我不知道是谷歌翻译的 API 还是他们的文本转语音 API 打破了这些词。或者,如果有任何方法可以在某个 API 响应中获取这些分解的单词。
有没有人有使用 Google 的 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']
推荐阅读
- java - 捕获 IllegalArgumentException 是否很好
- html - 如何在html(不是css)中使图像变暗
- reactjs - 验证步进组件的子表单
- javascript - 网页抓取使用 JavaScript 呈现内容的网页
- java - 如何修复“401 未经授权。未提供 Api 密钥”
- c - C:函数不更新全局数组(使用 strcpy / malloc)
- qt - 如何创建自定义 ListView Qt?
- ruby - 存在 Gemfile.lock 的情况下,Bundler 版本不自动切换
- python-3.x - Tensorflow Transformer:来自基础论文的超参数给出了乱七八糟的结果
- hadoop - 如何重新平衡数据节点磁盘上的 HDFS 数据大小