美文网首页
切词和飘红长度

切词和飘红长度

作者: 一个想当大佬的菜鸡 | 来源:发表于2019-08-11 12:21 被阅读0次

    (一)jieba切词

    切词

    • 三种模式:
      1) 精确模式:试图将句子最精确地切开,适合文本分析;
      2)全模式:把句子中所有的可以成词的词语都扫描出来;
      3)搜索引擎模式:在精确模式基础上,对长词再次切分,提高召回率。
    • 用法:
      seg_list = jieba.cut(s, cut_all=True)#全模式
      seg_list = jieba.cut(s, cut_all=False)#精确模式
      jieba.lcut
      jibe.lcut_for_search

    自定义词典

    • 语料库,dict.txt里录入了两万多条词。
    • 虽然 jieba 有新词识别能力,但自行添加新词可以保证更高的正确率
    • 用法:
      jieba.load_userdict(file_name) # file_name
      词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频、词性,用空格隔开。
      词频省略时使用自动计算能保证分出该词的词频。

    算法

    • trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。一个节点的所有子孙都有相同的前缀,根节点对应空字符串,值是词频。
    • 基于统计词典,构造一个前缀词典;然后利用前缀词典对输入句子进行切分,得到所有的切分可能,根据切分位置,构造一个有向无环图;通过动态规划算法(从后往前,有向无环图从前指向后,对于一个节点,只知道这个节点会指向后面哪些节点,但是我们很难直接知道有哪些前面的节点会指向这个节点)计算得到最大概率路径,也就得到了最终的切分形式。
    • 对于未登录词,利用隐马尔可夫模型进行分词,将分词问题视为一个序列标注问题,其中,句子为观测序列,分词结果为状态序列,有{B、M、E、S}四种状态,分别表示{开始、中间、结束、单个}。首先通过语料训练出隐马尔可夫模型,然后利用Viterbi算法进行求解,最终得到最优的状态序列,然后再根据状态序列,输出分词结果。(齐次马尔科夫性假设,观测独立性假设)

    为什么要切词

    • 词是最小的有意义的语言成分,英文单词之间有空格,而汉语以字为基本单位,词语之间没有明显的区分。飘红长度计算的时候是关键词在title中才飘红,而不是一个字在title中就飘红。

    (二)飘红

    把query进行切词,然后对于每个词,如果这个词在title中,飘红长度就加上这个词的长度,如果这个词在describe中,标红长度加上这个词长度*0.6。

        def s_longest_common_string_uncontinue2(self, dependlist):
            if len(dependlist) != 2:
                return -1
            sentence1 = urllib.unquote(dependlist[0].strip())
            sentence2 = urllib.unquote(dependlist[1].strip())
    
            if len(sentence1) == 0 or len(sentence2) == 0:
                return -1
            if sentence1 == "\N" or sentence2 == "\N":
                return -1
    
            wordlist1 = self.str2word(sentence1)[0]
            word1_num = len(wordlist1)
            word1_len = len(sentence1)
            if word1_num == 0:
                return 0
    
            term_len = 0
            for ele in wordlist1:
                if ele in sentence2:
                    term_len += len(ele)
            return term_len
    

    相关文章

      网友评论

          本文标题:切词和飘红长度

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