natural-language 是做什麼的?
使用 Apple 的 NaturalLanguage 框架對自然語言文本進行分詞、標記與分析,並透過 Translation 框架進行語言翻譯。適用於在 iOS/macOS/visionOS 應用程式中加入語言識別、情感分析、命名實體識別、詞性標記、文字嵌入或應用內翻譯等功能。
功能
- 分詞:將文字分割為單詞、句子或段落。
- 詞性標記:識別每個單詞的詞性(名詞、動詞等)。
- 命名實體識別:提取人名、地名、組織名等。
- 情感分析:判斷文字的情感傾向(正面、負面或中性)。
- 語言識別:判斷文字所屬的語言。
- 文字嵌入:生成文字片段的向量表示。
- 翻譯:在不同語言之間進行翻譯(需 iOS/macOS/visionOS 支援)。
使用方式
語言識別
import NaturalLanguage
let recognizer = NLLanguageRecognizer()
recognizer.processString("Bonjour le monde")
if let language = recognizer.dominantLanguage {
print(language.rawValue) // 輸出:fr
}
分詞
import NaturalLanguage
let text = "你好,世界!"
let tokenizer = NLTokenizer(unit: .word)
tokenizer.string = text
tokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) { tokenRange, _ in
print(text[tokenRange])
return true
}
翻譯
import Translation
let text = "Hello, how are you?"
let session = TranslationSession(source: .init(identifier: "en"), target: .init(identifier: "fr"))
let response = try await session.translate(text)
print(response.targetText) // 輸出:Bonjour, comment allez-vous ?