SuperAPI AI 工具集

natural-language

智能体与模型

查看项目

更新于 10-15 21:12

技能介绍

用途:在已获得文本之后,使用 Apple 的 NaturalLanguage 框架做设备端文本分析,并用 Translation 框架做应用内翻译。不负责 OCR、语音转文字、本地化字符串格式化或生成式摘要。

主要能力:NLTokenizer 按词、句、段落或整篇文档分词,并可枚举带属性(如数字、表情)的 token;NLLanguageRecognizer 识别主语言并给出多语言置信度假设;NLTagger 支持词性标注(.lexicalClass)、命名实体识别(.nameType,含人名、地名、机构名)、词元还原(.lemma)、逐 token 语言与情感分数(.sentimentScore,-1.0 到 +1.0);NLEmbedding 提供词向量与句向量,可计算余弦距离和近邻词。Translation 提供系统翻译浮层 .translationPresentation()、视图内程序化翻译 .translationTask()、批量翻译 translations(from:) 以及 LanguageAvailability 语言可用性检查。

使用方式:import NaturalLanguage 与 import Translation。NaturalLanguage 无需特殊权限;Translation 的系统翻译浮层需 iOS 17.4+/macOS 14.4+,TranslationSession、.translationTask()、LanguageAvailability 与批量翻译需 iOS 18+/macOS 15+。直接 TranslationSession(installedSource:target:) 仅在源与目标语言已安装时可用。

限制与注意:NLTokenizer 与 NLTagger 非线程安全,需单线程或单队列使用;tagger 应按文本复用而非逐 token 新建;短文本语言识别不可靠,应设置 languageConstraints 或 languageHints;NLEmbedding 并非所有语言都可用,需处理 nil;情感分数为可选值;NER 建议使用 .joinNames 保持多词名称完整;自定义模型应通过 NLModel 加载而非直接 Core ML;翻译前应检查 LanguageAvailability。

适用场景:设备端文本分析、内容分类、实体抽取、情感判断、语义相似度比较,以及应用内多语言翻译。