使用NLTokenizer進(jìn)行分詞
參考自蘋果官方文檔
在處理自然語言文本時,將文本標(biāo)記為單個單詞通常很有用。使用NLTokenizer來枚舉單詞,而不是簡單地用空格分隔組件,可以確保在多種腳本和語言中正確的行為。例如,中文和日語都不用空格來分隔單詞。
import NaturalLanguage
// let text = """
// All human beings are born free and equal in dignity and rights.
// They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
// """
let text = """
在處理自然語言文本時,將文本標(biāo)記為單個單詞通常很有用。使用NLTokenizer來枚舉單詞,而不是簡單地用空格分隔組件,可以確保在多種腳本和語言中正確的行為。例如,中文和日語都不用空格來分隔單詞。
"""
let tokenizer = NLTokenizer(unit: .word)
// tokenizer.setLanguage(.simplifiedChinese)
tokenizer.string = text
tokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) { tokenRange, _ in
print(text[tokenRange])
print("----------")
return true
}
輸入內(nèi)容為
在
----------
處理
----------
自然語言
----------
文本
----------
時
----------
將
----------
文本
----------
標(biāo)記
----------
為
----------
單個
----------
單詞
----------
通常
----------
很
----------
有用
----------
使用
----------
NLTokenizer
----------
來
----------
枚舉
----------
單詞
----------
而
----------
不
----------
是
----------
簡單
----------
地
----------
用
----------
空格
----------
分隔
----------
組件
----------
可以
----------
確保
----------
在
----------
多種
----------
腳本
----------
和
----------
語言
----------
中
----------
正確
----------
的
----------
行為
----------
例如
----------
中文
----------
和
----------
日語
----------
都
----------
不
----------
用
----------
空格
----------
來
----------
分隔
----------
單詞
----------