Apple NLP框架NaturalLanguage的应用实例

本文介绍了Apple的NaturalLanguage框架在iOS应用中的实际使用,包括语言识别、词语切分、词性标注和实体识别。语言识别能确定输入语言,词语切分支持中文,适合情感分析和特定效果触发。词性标注可识别文字段落的语法结构,但不支持中文。实体识别能找出人物、地点和组织,可能用于行程自动生成,但存在某些地名误识别问题。

首先import最新的NLP包

import NaturalLanguage

1.Language Identification(语言识别)

在wwdc2018视频的例子中,给出了如下的场景:在聊天应用中一个人说出了一句含有”good night“的话,然后弹出了一个晚安的表情,但当使用”我困了要去睡觉了“的中文时,不能弹出,于是引出了一个语言判别的问题。

let recognizer = NLLanguageRecognizer()

recognizer.processString("困死啦睡觉去啦")

let lang = recognizer.dominantLanguage

let hypotheses = recognizer.languageHypotheses(withMaximum: 2)

print(hypotheses)
print(lang)

结果为

[__C.NLLanguage(_rawValue: zh-Hans): 0.9805831909179688, __C.NLLanguage(_rawValue: zh-Hant): 0.01938585191965103]
Optional(__C.NLLanguage(_rawValue: zh-Hans))

我猜前两个的数字为置信值,后一个表示最占主要部分的语言

2.tokenization(词语切分)

这个功能十分强大,可以将词语切分,且支持中文,直觉上感觉这个可以利用的空间非常大

let text = "你好我是小明,我今年二十二岁了"

let tokenizer = NLTokenizer(unit: .word)

tokenizer.string = text

tokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值