美文网首页
iOS 分词

iOS 分词

作者: jianshufei | 来源:发表于2022-07-05 11:33 被阅读0次
func wordBoundary(_ text: String) -> [String] {
        let tokenize = CFStringTokenizerCreate(kCFAllocatorDefault, text as CFString?, CFRangeMake(0, text.count), kCFStringTokenizerUnitWordBoundary, CFLocaleCopyCurrent())
        CFStringTokenizerAdvanceToNextToken(tokenize)
        var range = CFStringTokenizerGetCurrentTokenRange(tokenize)
        var boundaries : [String] = []
        while range.length > 0 {
            let wRange = text.index(text.startIndex, offsetBy: range.location)..<text.index(text.startIndex, offsetBy: range.location + range.length)
            let keyWord = String(text[wRange])
            boundaries.append(keyWord)
            CFStringTokenizerAdvanceToNextToken(tokenize)
            range = CFStringTokenizerGetCurrentTokenRange(tokenize)
        }
        return boundaries
    }
    
func wordBoundariesWithSentences(_ text: String) -> [Dictionary<String, Array<String>>] {
        let tokenize = CFStringTokenizerCreate(kCFAllocatorDefault, text as CFString?, CFRangeMake(0, text.count), kCFStringTokenizerUnitSentence, CFLocaleCopyCurrent())
        CFStringTokenizerAdvanceToNextToken(tokenize)
        var range = CFStringTokenizerGetCurrentTokenRange(tokenize)
        var result : [Dictionary<String, Array<String>>] = []
        while range.length > 0 {
            let wRange = text.index(text.startIndex, offsetBy: range.location)..<text.index(text.startIndex, offsetBy: range.location + range.length)
            let sentence = String(text[wRange])
            let words = wordBoundary(sentence)
            result.append([sentence: words])
            CFStringTokenizerAdvanceToNextToken(tokenize)
            range = CFStringTokenizerGetCurrentTokenRange(tokenize)
        }
        return result
    }

相关文章

  • iOS 分词

  • iOS FMDB FTS unknown tokenizer:

    iOS FMDB集成了FTS功能,并且支持icu。icu是sqlite3里支持中文分词的分词器。 unknown ...

  • iOS 分词处理

    在搜索等场景,需要对完成的字符串进行分词处理,iOS 自带两种分词方式 NaturalLanguage 及 CFS...

  • iOS-分词

    分词是将一段string根据语法进行切分成若干个短语/词/字,多见于搜索中使用。

  • 拇指大爆炸-分词功能

    最近看到iOS/Mac 开发者钟颖 Cyan 和锤子科技关于是否抄袭的争议,有感而发:这是iOS在分词功能的实现。...

  • Elasticsearch实现中文、拼音分词、繁简体转换高级搜索

    一、Elasticsearch分词 分词分为读时分词和写时分词。 1.1 读时分词 读时分词发生在用户查询时,ES...

  • 初中英语语法(010)-分词

    分词 分词分为现在分词和过去分词,需要注意的是,现在分词和过去分词都是由动词变化而来,但现在分词不同于现在时,过去...

  • 【英语】语法俱乐部_6_分词

    分词概述 分词包括现在分词(Ving)和过去分词(Vpp),是动状词的一个分支,分词在句子中可以视为形容词。 分词...

  • 分词

    分词分为现在分词和过去分词。 现在分词有主动进行的意思,过去分词有被动完成的意思。 分词的用法包括:作表语,作定语...

  • ES中文分词器之精确短语匹配(解决了match_phrase匹配

    分词器选择 调研了几种分词器,例如IK分词器,ansj分词器,mmseg分词器,发现IK的分词效果最好。举个例子:...

网友评论

      本文标题:iOS 分词

      本文链接:https://www.haomeiwen.com/subject/utlsbrtx.html