我目前正在与使用语音识别和检测语音中的名字的人一起工作。这很好用,但是我遇到了名称问题。我在威尔士,周围很多人都有威尔士名字(包括我)。我有所有威尔士名字的 CSV。一些名字也被选为地方(如 Osian) 有没有办法扩展 NSLinguisticTagger 以包含威尔士名字?或者有没有办法检测威尔士名字?
这是我当前的代码:
let text = "Hey I'm Osian"
// 2
let tagger = NLTagger(tagSchemes: [.nameType])
tagger.string = text
let options: NLTagger.Options = [.omitPunctuation, .omitWhitespace, .joinNames]
let tags: [NLTag] = [.personalName, .organizationName, .placeName]
// 3
tagger.enumerateTags(in: text.startIndex..<text.endIndex, unit: .word, scheme: .nameType, options: options) { tag, tokenRange in
if let tag = tag, tags.contains(tag) {
print("\(text[tokenRange]): \(tag.rawValue)")
}
return true
}