iOS开发 - Natural Language Processing(NLP)其一

使用NLTokenizer进行分词

参考自苹果官方文档

在处理自然语言文本时,将文本标记为单个单词通常很有用。使用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 = """
        在处理自然语言文本时,将文本标记为单个单词通常很有用。使用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
    }

输入内容为

在
----------
处理
----------
自然语言
----------
文本
----------
时
----------
将
----------
文本
----------
标记
----------
为
----------
单个
----------
单词
----------
通常
----------
很
----------
有用
----------
使用
----------
NLTokenizer
----------
来
----------
枚举
----------
单词
----------
而
----------
不
----------
是
----------
简单
----------
地
----------
用
----------
空格
----------
分隔
----------
组件
----------
可以
----------
确保
----------
在
----------
多种
----------
脚本
----------
和
----------
语言
----------
中
----------
正确
----------
的
----------
行为
----------
例如
----------
中文
----------
和
----------
日语
----------
都
----------
不
----------
用
----------
空格
----------
来
----------
分隔
----------
单词
----------
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容