IBM Watson Alchemy 新闻 iOS SDK Swift

Posted

技术标签:

【中文标题】IBM Watson Alchemy 新闻 iOS SDK Swift【英文标题】:IBM Watson Alchemy news iOS SDK Swift 【发布时间】:2017-06-28 21:29:56 【问题描述】:

IBM Watson ios SDK 使用 Bluemix 上的 Alchemy News 服务返回一个字符串结果,该结果需要解析以提取 url 和已清理的标题等字段。参考:https://github.com/watson-developer-cloud/swift-sdk

我将字符串拉入一个数组并使用一些字符串方法在 swift3 中解析它,但这很普通,并且会产生不可预知的结果

是否有更优雅的方法可以访问特定字段,例如我传递给 UITableViewCell 以选择并转到 url 链接的 url 和已清理的标题。

sample code:
let alchemyDataNews = AlchemyDataNews(apiKey: apiKey)
let failure =  (error: Error) in print(error) 
let start = "now-14d" // 7 day ago
let end = "now" // today
let query = ["count": "15",
                            "dedup": "true",
                            "q.enriched.url.title": "[IBM]",
                            "return":  "enriched.url.url,enriched.url.title" "enriched.url.title,enriched.url.entities.entity.text,enriched.url.entities.entity.type"]

我还注意到搜索字符串 [IBM] 的前缀为 0,即 0[IBM],并且还看到了“A”。这些前缀是什么意思,它们记录在哪里

【问题讨论】:

【参考方案1】:

这是您可以从返回的负载中访问字段的一种方式。

    alchemyDataNews.getNews(from: "now-4d", to: "now", query: queryDict, failure: failWithError)  news in

        for doc in (news.result?.docs)! 
            var cleanedTitle = doc.source?.enriched?.url?.cleanedTitle
            var author = doc.source?.enriched?.url?.author
            var title = doc.source?.enriched?.url?.title
        

另外,这里有一个很好的炼金术数据 API 参考链接,其中包含所有请求参数和过滤器。

https://www.ibm.com/watson/developercloud/alchemydata-news/api/v1/

【讨论】:

谢谢 Vince,这正是我所希望的。我查看了该文档,但未能找到使用正确参数和过滤器的 Swift 语法。也许我错过了它,但现在您已经提供了这个示例,我可以轻松使用所有参数和过滤器。如果此 Swift 语法是任何地方的文档,我将不胜感激链接

以上是关于IBM Watson Alchemy 新闻 iOS SDK Swift的主要内容,如果未能解决你的问题,请参考以下文章

iOS/IBM Cloud/Swift:使用 AlamoFire 发布到 Watson API

IBM BigInsights (IBM Hadoop) 与 IBM Watson

IBM-Watson 云产品中输入所需的数据格式是啥?

没有 ibm 云功能的 ibm watson webhook

IBM Watson Assistant:如何通过对话进行 API 调用

如何从 javascript 调用 IBM Watson 服务