文本分类器使用机器学习技术来帮助开发者对文本进行分类。
Android 11 版本的文本分类器
Android 11 引入了 ExtServices 模块中文本分类器服务的可更新默认实现。在搭载 Android 11 或更高版本的设备上,getTextClassifier() 方法会返回 ExtServices 模块中的此默认实现。建议设备制造商使用此 TextClassifierService 实现,因为它可以通过 Mainline OTA 更新进行更新。
如果设备制造商希望使用自己的文本分类算法,他们可以通过在 config.xml 文件中指定 config_defaultTextClassifierPackage 来实现自定义文本分类器服务。如果未指定此配置,则会使用默认的系统实现。自定义实现可以通过调用 TextClassifierService.getDefaultTextClassifierImplementation(Context) 来获取默认实现的实例。如需了解详情,请参阅实现自定义文本分类器服务。
测试
Android 10 版本的文本分类器增强功能
Android 10 针对 TextClassifier API 引入了两个方法:suggestConversationActions 和 detectLanguage。suggestConversationActions 方法可根据给定的对话生成建议的回复和操作,而 detectLanguage 方法则可检测文本所使用的语言。
suggestionConversationActions:actions_suggestions.universal.model
detectLanguage:lang_id.model
如需使用出厂映像中的最新模型文件发布设备,请执行以下操作:
获取最新的模型文件。
external/libtextclassifier/models/update.sh
重命名下载的文件,以替换现有文件。
验证设置。
adb shell dumpsys textclassification
这是以上命令的输出的示例。
TextClassifierImpl:
Annotator model file(s):
ModelFile { path=/etc/textclassifier/textclassifier.universal.model name=textclassifier.universal.model version=608 locales=und }
ModelFile { path=/etc/textclassifier/textclassifier.en.model name=textclassifier.en.model version=608 locales=en }