-1

entities = ({confidence = "<null>"; end = 113; entity = DATE; extractor = "ner_spacy";start = 103;value = "five years"; }, {confidence = "<null>"; end = 177;entity = ORG; extractor = "ner_spacy";start = 163; value = "xyz Company"; } );

这是后端数据,我需要在字符串中显示删除并在字符串文本中添加新值:

示例:“根据您在 {{ORG}} 的 {{years_of_experience}} 经验,有哪些流程改进或标准设置?”

答案: 0 的数组 ---> 五年和 1 的数组 ---> xyz 公司 我需要显示数组 0 和 1 的文本,而不是打开和关闭的大括号。

在您在 xyz 公司的五年经验中,有什么样的流程改进或标准设置?

4

2 回答 2

0

我已经尝试为您的问题找到解决方案,

这是JSON response我用作示例的,

[
    {
        "confidence": "<null>",
        "end": 113,
        "entity": "DATE",
        "extractor": "ner_spacy",
        "start": 103,
        "value": "five years"
    },
    {
        "confidence": "<null>",
        "end": 177,
        "entity": "ORG",
        "extractor": "ner_spacy",
        "start": 163,
        "value": "xyz Company"
    }
]

JSON response将using解析Codablearray of Entity对象,即

struct Entity: Codable {
    var confidence: String?
    var end: Int?
    var entity: String?
    var extractor: String?
    var start: Int?
    var value: String?
}

entity key在响应中使用来确定要替换的值,即

if let data = str.data(using: .utf8) { //You'll get this data from API response
    let entities = try? JSONDecoder().decode([Entity].self, from: data)

    var sentence = "In your {{DATE}} of experience at {{ORG}}, what kind of process improvements or standards setup?"
    entities?.forEach({
        if let entity = $0.entity, let value = $0.value {
            sentence = sentence.replacingOccurrences(of: "{{\(entity)}}", with: value)
        }
    })
    print(sentence) //In your five years of experience at xyz Company, what kind of process improvements or standards setup?
}

在上面的代码中,我遍历了entities array并将每次出现的 替换{{entity}}为相应的value,即

"{{DATE}}" is replaced with "five years"
"{{ORG}}" is replaced with "xyz Company"

如果您仍然遇到任何问题或者我没有很好地理解问题陈述,请告诉我。

于 2019-05-24T07:56:44.643 回答
0

它不适用于动态数据,在某些文本中不包含任何键值和 {{}},在这种情况下我们将如何编写它。

我需要用这种类型的数据显示一个表格视图并播放语音消息。

示例:q1) 您能否向我解释一下您自己,重点介绍与项目经理和您从事的不同领域相关的经验年数

答:用户说出答案,发送后端并将响应存储在字典中。

Q2) 根据您在 {{ORG}} 的 {{years_of_experience}} 经验,有哪些流程改进或标准设置?注意:1)我需要替换 {{ }} 内的文本值 2)对于某些问题文本,没有实体键和值。3)我们需要存储 {{ORG}} 值,每当问题文本在 {{ORG}} 中时,我们都应该替换实体的值。

Q3) 您能告诉我一些软件开发方法以及您使用过和熟悉的方法吗?

q4) 太好了。您能说出您在 {{industry}} 域和 {{years_of_experience}} 中支持的一些客户吗?

- - - - - - 等等。

每当说出带有相应文本的答案时,我都会存储实体键和值响应

于 2019-06-04T12:48:20.603 回答