精华内容
下载资源
问答
  • 语音关键词检索实验小结 语音关键词检索(KeywordsSearch),是指在连续语音流中检测出一组给定的关键词的过程。与大词汇量连续语音识别(Large Vocabulary Continuous Speech Recognition)相比,语音关键词检索不...

    语音关键词检索实验小结

    语音关键词检索(KeywordsSearch),是指在连续语音流中检测出一组给定的关键词的过程。与大词汇量连续语音识别(Large Vocabulary Continuous Speech Recognition)相比,语音关键词检索不需要对非关键词的精确识别,只需要检测出关键词即可,降低了对语音识别系统的要求,拓展了系统的适用条件。语音关键词检索在实时对话系统,命令控制,语音拨号,语音监听,以及语音文档检索方面等方面有着广泛的应用。

    语音关键词检索从输入内容的形式来看可以分为两种:一种是输入语音样例(Query-by-example),另一种是输入文本形式。对于输入为语音样例的关键词检索,现行常用无监督方法来实现,如基于帧的模板匹配方法和基于片段的模板匹配方法[1]。现行大多数文本形式关键词检测主要基于大词汇量连续语音识别技术。本文关注基于大词汇量连续语音识别技术的文本语音关键词检索。

    问题阐述

    语音识别可以看成是如下问题:对于给定的声学观测(acoustic observation)序列,求出对应的字(word)序列,使后验概率 最大化,即求得,有

     

    在语音识别系统中,称为“解码”过程,即根据预先训练好的声学模型和语言模型,在全体可能的字序列空间中搜索出概率最大的序列。在实际的语音识别系统中,最优路径不一定与实际字序列匹配,我们一般希望能够得到得分最靠前的多条候选路径,即N-best。候选路径的保存需要紧凑,防止占用过多内存空间。我们一般采用词格(Lattice)来保存识别的候选序列。

    词格没有一般的定义。在语音关键词检索问题中,词格需要包含时间信息。可以用加权有限状态转换器(Weighted Finite States Transducer,WFST),来紧凑地表示N-best候选路径,即词格。有限状态转换器是一个八元组,其中:

    l  A:表示输入符号表;

    l  B:表示输出符号表;

    l  Q:表示状态集合;

    l  I:表示初始状态集合;

    l  F:表示终止状态集合;

    l  E:表示转移弧集合;

    l  λ:表示初始权重;

    l  ρ:表示终止权值;

    用WFST可以表示输入符号序列和输出符号序列的映射关系。在Kaldi中,词格有两种表示方法。第一为Lattice,其输入符号为Transition-ids,输出符号为字。其二为CompactLattice,它是一种有限状态接收器(Finite States Automaton),与Lattice包含相同的信息。它的输入和输出符号都是字,transition-ids包含在权重上[3]。Kaldi采用这种表示方法,可以表示字序列(Word Sequence)状态级别的对齐[4]。这样,就可以用WFST来表示状态序列和字序列的映射关系。

    于是,语音关键词检索问题就转变为:如何从解码出的词格,寻找到关键词所在位置。

    关键词检索的结果需要包含关键词所在位置,即时间信息。直接解码出的词格中没有字序列的时间信息。所以在解码出的词格中加入每一个字的时间位置信息就是一个需要考虑的问题。

    另一个需要考虑的问题是集外词(Out-of-vocabulary,oov)的问题。解码生成的词格是根据预先准备好的词典生成的,所以词格中不会包含词典中没有的词。对于语音识别来说,集外词比例较低,对整体识别性能造成的影响不大,但在语音检索任务中,集外词检索比例较高。在英文LVCSR系统中,当整体文档集外词比例在1.5%时,用户查询集外词比例高达12%[5],影响检索性能较为严重。所以如何在词格中查询到集外词,也是一个需要考虑的问题。

    算法解释

    首先定义因子转换器:给定两个串可以识别u的因子集合的最小确定有限状态接收器。因子v可以看做是关键词,u可以看做是整个句子,将关键词输入进因子自动机,即可看做是关键词的查询。

    对于语音语句,给定一个对数半环上的加权自动机和状态时间列表 。问题就转化为创建一个时间索引,用来搜索任意串的任意因子。

    构建的主要思路是,时间索引可以表示为将每一个因子x映射到1)x出现的自动机集合,2)每一个自动机中x出现的起始终止时间段,3)x在对应的时间段发生的后验概率的WFST。

    对于在词格中加入时间信息的问题,一种方法是时间信息可以表示为WFST的弧的权重上。对CompactLattice拓扑排序以后,根据弧的长度,可以计算出每一状态的时间,从而得出每一状态时间[6]

    定义加权有限状态转换器Bi,它给出了输入输出对(x,y)发生的概率P(x,y),根据Bi和状态时间列表ti,可以推导出时间因子转换器。

    时间因子转换器Ti的生成分为四步:

    1)  因子生成:

    a)       将Bi中每一个弧的权重映射为(w,1,1)ÎLxTxT’

    b)       建立初始状态和终止状态

    c)        对每一个状态创建两个新弧

    2)  因子合并:

    将结果中含有相同因子对的路径合并

    3)  因子消歧义

    将非终结弧上的cluster标识符移除并在终结弧插入消歧义符号。

    4)  优化

    使用确定性算法和最小化算法优化。

    用户查询的时候,首先将关键词编译成加权自动机X,然后合并(Composing)X和时间因子转换器T,通过Project操作生成输出符号。然后移除空转移,最后通过最短路算法排序。

    对于集外词问题的解决,采用“代理关键词”的方法,即使用与查询的集外词读音相近的集内词代替来查找。

    令K表示OOV 关键词的有限状态接收器,L2表示OOV关键词的发音有限状态转换器,E为一个将一个音素序列映射到另一个音素序列的编辑距离转换器,L1表示LVCSR系统的发音词典,则代理关键词为

     

    Grapheme-to-phoneme使用Sequitur 软件,利用Joint-sequence 模型生成。混淆矩阵通过统计基于编辑距离的文本对齐信息得到。

    实验流程

             实验主要分为两个部分:1.数据准备;2关键词检索。

             数据准备包括关键词数据的准备和语音数据的解码。

             首先手工准备ecf.xml和kwlist.xml两个文件,ecf.xml标明待检索的文档的范围,kwlist.xml标明待检索的关键词。然后利用local/kws_setup.sh脚本,它会调用kws_data_prep.sh脚本,将关键词分为集内词和集外词两部分,并将集内词编译成FST。解码部分,首先利用steps/make_fbank.sh和steps/compute_cmvn_stats.sh提取语音数据fbank特征,然后利用steps/nnet/decode.sh将语音数据解码成词格。

             对于集外词的检索,首先需要利用local/generate_confusion_matrix.sh生成音素混淆矩阵,然后利用local/apply_g2p.sh将集外词转换为音素。最后利用local/kws_data_prep_proxy.sh,将待查询的集外词编译成FST,准备工作即完成。

            

    关键词检索时,首先会调用steps/make_index.sh, 它调用lattice-to-kws-index程序,它将解码生成的词图编译成索引文件。之后调用steps/search_index.sh,它将调用kws-search程序,它将根据索引文件的WFST和关键词的WFSA进行Compose查询。

     


    [1] Mandal A, KumarK, Mitra P. Recent developments in spoken term detection: a survey[J].International Journal of Speech Technology, 2013, 17(2): 183-198.

    [2] Huang X, AceroA, Hon H. Spoken Language Processing[J]., 2000.

    [3] http://kaldi.sourceforge.net/lattices.html

    [4] Povey D,Hannemann M, Boulianne G. Generating exact lattices in the WFST framework[J].International Conference on Acoustics, Speech, and Signal Processing, 2012.

    [5] Logan B, Moreno P, Van Thong J. AN EXPERIMENTAL STUDY OF AN AUDIOINDEXING SYSTEM FOR THE WEB[J]., 1996.

    [6] Lattice-functions.cc: CompactLatticeStateTimes(const CompactLattice&lat, vector<int32> *times)

    展开全文
  • 已有方法解决了结果集要求是关于关键词检索结果全集而带来的无检索结果的问题,但非空子集作为结果集有较大冗余。提出了一种基于完全化语义的关键词检索方法,对检索关键词进行语义标准化处理,识别处理后采用不同的...
  • 通过构建基于关键词的检索系统,对电子文件通过查找涉密关键词检索、匹配,并结合数据分析、统计等相关技术运用,给出电子文件是否为涉密文件的建议。
  • 平衡I_O和CPU的XML关键词检索.pdf
  • 云服务器中基于同态加密的关键词检索方案.pdf
  • 关键词检索方法的缺陷分析与发展估计,胡壁,刘刚,本文先从爬虫、倒排表、查询排序三个部分对搜索引擎的工作原理做了总结,介绍了三个部分所关心的问题和挑战。在分析关键词检索
  • 一种新的基于加密云数据的模糊关键词检索方案
  • 针对多候选汉语音节网格语音关键词检索任务,在Gauss混合模型以及多候选识别算法方面进行了研究改进。首先探讨了 Gauss混合模型的不同简化策略并用实验进行了验证,证明了全协方差矩阵在识别性能上的优越性;随后对经典...
  • 不同于常用的一次性将图加载入内存的检索方法,提出了一种基于数据图划分的关系数据库关键词检索方法,该方法首先将大图细分成多个相互之间具有简单连通性的小图并存储于缓存中,然后通过超图查询算法获取与查询条件...
  • 电子政务-基于关键词检索指数相关性分析的用电需求预测方法.zip
  • 针对当前关键词检索系统中单阶段系统检索速度慢,基于大词汇量连续语音识别(LVCSR)的两阶段系统又不够稳健的现状,提出一种新的基于拼音图的两阶段检索系统以满足快速、稳健检索的需要。两阶段分为预处理阶段和...
  • 是布尔诺大学编写的,基于speech lattice的关键词检索(spoken term detection),我自己目前就正在做这一块内容。非常有用。用之前,需要自己在linux环境下make
  • Django REST framework实现关键词检索

    万次阅读 2017-08-18 22:25:47
    Django REST framework实现关键词检索 注:下文需要使用Django REST framework中的 API,包括viewsets、serializer等,对这些API本文不作讨论,如果想了解API的具体使用,请见Django REST官网。 如果你对Django ...

    Django REST framework实现关键词检索

    注:下文需要使用Django REST framework中的 API,包括viewsets、serializer等,对这些API本文不作讨论,如果想了解API的具体使用,请见Django REST官网
    如果你对Django 和Django REST不熟悉,不建议阅读本文~

    本文意图实现一个简单的关键词检索的功能,其核心非常简单,就是SQL语句中的SELECT * FROM table where keyword like '%{param}%'
    但是在Django中,我们除了使用SQL语句外,也可以使用Django提供的数据过滤方法fliter()实现相同的功能:

    Place.objects.filter(keyword__contains={param})

    其中,{param}是我们要填入的参数,也就是要查询的关键字。

    流程图

    Created with Raphaël 2.1.0 开始 url传入关键字参数 服务器获取该参数 服务器执行查询语句 返回查询结果 结束

    我们要实现的工作就是接收用户输入的参数,然后把参数传递到服务器端,然后执行上面这条语句,最后将执行结果返回到浏览器端。为了简化这一步骤,用户输入的参数,直接写到URL中,通过URL传给服务器。因此,我们需要修改urls.py 和 views.py 两部分

    • 修改urls.py
    • 修改views.py


    1、修改urls.py

    from rest_framework.routers import DefaultRouter
    from . import views
    
    router = DefaultRouter()
    
    """
    注意url的设计,(?P<keyword>.+)是一段正则表达式,在url中必须有'keyword'。
    . 表示匹配除换行符\n 之外的任何单字符
    + 匹配前面的子表达式一次或多次
    """
    router.register(r'keyword/(?P<keyword>.+)/$', views.KeywordSearchViewSet) 
    
    urlpatterns = router.urls


    2、修改views.py

    from . import models, serializers
    from rest_framework import viewsets, permissions
    from rest_framework.response import Response
    
    class KeywordSearchViewSet(viewsets.ModelViewSet):
        queryset = models.MyModel.objects.all()
        serializer_class = serializers.MyModelSerializer
        permission_classes = [permissions.AllowAny]
    
        # 核心部分就是list方法
        def list(self, request):
            keyword = request.GET.get('keyword') # 获取参数
            if keyword is not None: # 如果参数不为空 
                # 执行filter()方法
                queryset = models.MyModel.objects.filter(keyword__contains=keyword)
            else: 
                # 如果参数为空,执行all()方法
                queryset = models.MyModel.objects.all()
            serializer = serializers.MyModelSerializer(queryset, many=True)
            return Response(serializer.data) # 最后返回经过序列化的数据


    3、测试

    在浏览器地址栏里,输入url,比如我这里是:"www.example.com/?keyword=银行"(在实际生产中,我的keyword其实是name,原理都是一样的)

    我们将‘银行’作为关键词写入到url中,服务器通过GET方法获取到这个关键词,然后执行查询,最后返回一个经过序列化的结果(Django REST 里是json字符串)

    这里写图片描述

    json结果如下,如果仔细观察会发现name是“交通银行”,包含“银行”这两个字。证明刚刚写的程序是可以实现一个简单的关键词查询的。

    这里写图片描述

    问:遇到一个经常更改需求的项目经理,你会怎么办??!!

    这里写图片描述

    展开全文
  • 关键词检索-crx插件

    2021-04-01 23:03:34
    语言:中文 (简体) 自动检索相关负面词、关键词。一键查询记录,解决手动检索的困难。 一款舆情管理插件,搜索记录工具~是一款简单的辅助工具。
  • 在群内随机发送二次元图片,支持关键词检索 目前仅适配Mirai-console 0.5.2 使用前需要先 config.yml apikey: '' //填写apikey r18: false //是否开启r18 r18-groups: //允许r18的群 - 1145141919810 FlashImageMode...
  • 提出了一种基于知网的多关键词语义关系分析方法,并利用其得出核心关键词,设置分级权重,从而解决了搜索引擎在面对多关键词检索时只作机械性的字符串匹配的缺陷。实验结果表明,查准率有明显提高。
  • 在一个文件中查找某个关键词,并把出现该关键词的行及行号显示出来。 使用C语言的字符串存储结构来实现字符串的操作,编写函数index实现在一个传中查找子串的功能。然后从文件中每次读入一行,作为一个主串看待,...
  • vb关键词检索工具

    2012-06-05 14:47:22
    一个简单的用来检索字符串中是否包含有相关的关键词
  • 《噪声环境下的语音关键词检索》阅读笔记 摘要:为了实现免手持语音识别的体验,语音识别系统需要持续不断地监听特定唤醒词语来开启语音识别任务,这个过程通常被定义为关键词检索(KDW)或者关键词识别(KWS)。在...

    《噪声环境下的语音关键词检索》阅读笔记

    摘要:为了实现免手持语音识别的体验,语音识别系统需要持续不断地监听特定唤醒词语来开启语音识别任务,这个过程通常被定义为关键词检索(KDW)或者关键词识别(KWS)。在现实生活中,噪声干扰不可避免,噪声鲁棒性对关键词识别任务至关重要,因此我们为提高关键词的鲁棒性做了三方面的尝试。首先,将语音增强系统和关键词检测系统连接起来构成更复杂的系统,整个系统采用联合训练的方法。第二,提出了一种新的卷积循环神经网络。最后,为了进一步提升系统的性能,设计了特征转换模块。本文采用基于联合训练框架的CNN-MelCRN32关键词检测系统在测试集上的准确率为93.17%,与带噪训练的(基于multi-condition训练方法)基线系统,相比相对提升64.2%,显著的提高了关键词检测系统的噪声鲁棒性。
    总结与展望
    关键词检测系统在生活中中越来越重要,但在不同场景下,噪声以及无关人声的干扰,人们对于关键词检索系统要求的鲁棒性越来越高。除此之外,关键词在尽量保持“时刻监听”的状态,会给智能设备带来巨大的能量损耗,本文模型在设计时,以降低模型参数量和计算复杂度为原则。
    虽然本文提出的方法在噪声鲁棒性能和计算资源占用上有很显著的优势,但鲁棒性关键词检测系统还有很大的优化和改进空间。
    1.本文实用CNN模型,本身识别性能一般,18年提出基于残差网络的识别器有更好的识别性能并且计算资源占用更小。后续可更换识别器。
    2.本文仅使用了单个增强特征,后续会尝试多种特征组合。
    3.在增强实验中,使用的损失函数为均方误差。然而MSE会弱化低能量部分的重要性,而散类度的损失函数使用比值的形式避免了这个问题。
    引言:
    关键词检索系统的研究方法大致分为三类。基于模板匹配的方法:具有模型尺寸小,计算量少的优点但准确率比较低;基于关键字-补白模型的方法:会为关键字和非关键字分别建立模型,使用通过维特比解码算法来判断输入的音频中是否出现了关键字。这种方法需要大量对关键字和非关键字的训练;基于大词表连续语音识别的方法:源于语音识别任务,但也有不同之处,关键词检测系统的目标为孤立词。
    深度学习的兴起,也深入到关键词检索领域,形成了一种端到端的主流模式,基于端到端的关键词检索系统包含三个部分:特征提取模块,神经网络模块和输出后验得分的计算模块。目前,评价关键词检测系统的性能指标主要有,准确率,ROC曲线等。(ROC曲线综合考虑了系统的错误拒绝率和错误接受率,曲线越偏向零点代表性能越好。)
    关键词检测系统
    本文的关机词检测系统参考tensorflow基线系统进行设计,基于端到端模式并丢弃了语言模型。主要结构包括特征提取模块,基于卷积神经网络的声学模型,后验概率处理模块。特征提取模块进行声音活动检测(VAD)并对每一帧音频计算特征向量,之后将预设帧数的级别特征向量按帧堆叠成特征谱图,送入卷积神经网络中。我们训练CNN声学模型来预测每一个标签的后验概率,这些标签代表一个关键词或者说是关键词的一部分。后验概率处理模块会将CNN输出进行平滑,对每一个标签计算一个平滑窗内的置信度,置信度分数最高的即为预测的关键词或者非关键词。
    在这里插入图片描述
    1.特征提取:将语音信号的模拟信号转变为数字信号,之后对数字信号进行特征提取。本文采用的特征是Fbank特征和MFCC特征。MFCC特征考虑了人类听觉感知只聚焦在某些特定频率的特性,提取过程如下:对音频信号进行预加重、分帧、加窗处理。预加重操作的目的是提高语音中高频的部分,使得信号在低频到高频的整个频谱变得平坦。分帧时为避免丢失信息,采取重叠分段的方法,一帧的时长为帧长,相邻两帧的起始位置时间差为帧移。加窗是将语音信号与窗函数相乘,方便之后做傅里叶变换。预处理之后,对语音信号作短时傅里叶变换得到频谱,之后对频谱取模平方后可以得到信号功率谱。Mel滤波器组操作得到mel倒谱特征。

    在这里插入图片描述
    2.基于卷积神经网络的声学模型
    早期基于HMM模型的声学模型是关键词检测系统的主流。但现在基于神经网络的端到端声学模型逐渐取代了HMM的声学模型,这类模型不需要解码部分,实现较为容易,并且模型的输出为每一个标签的后验概率,经过后验处理模块平滑处理后给出每一个标签的置信度得分。相比于基于DNN的声学模型,CNN能更好学习时频关系,并且需要更少的计算资源。
    在这里插入图片描述
    图中hi一层卷积层和池化层。网络的输入信号为tf的特征向量,t为时间维度,f代表频率维度。卷积核大小为mr(m<=t,t<=f)s:时间轴长度,v:频率轴长度。经过卷积得到n个特征映射,然后进行降采样,池化窗为p*q,但在本文中没有进行池化。最后一层为softmax层,其输出的每一个结点对应一个关键词标签和非关键词的标签,输出为某关键词和非关键词的后验概率估计值。
    3.后验概率处理
    后验概率值是每一帧音频对应标签的后验概率。需要在一个固定时长的平滑窗内对后验概率值进行平滑。平滑公式为:
    在这里插入图片描述
    随后将一定帧数的后验概率组合起来,计算出大小为Wmax滑动窗内的后验概率值及置信度分数。置信度计算公式为:

    在这里插入图片描述
    若为单个关键字,当置信度超过预先设定的阈值时,则包含关键词。若为多个关键词和非关键词分类,选取最大的置信度对应的标签,模型认为该音频包含关键词或非关键词。
    语音关键词检测基线系统
    基线系统有两层卷积层和一层全连接输出层。
    在这里插入图片描述
    基线系统的性能评估
    本文基线系统的性能评估指标使用准确率、ROC曲线,AUC,EER。ROC曲线的横轴是(FPR即我们说一些发音近似唤醒词但不是唤醒词的语句时,它能够不被唤醒,假正确率),纵轴为(TPR即为说出关键词能正确唤醒设备),曲线越偏向左上角性能越好。若一条曲线被另一条曲线包住,则后者识别器性能更优,若曲线发生交叉,无法判断时采用AUC(ROC曲线下的面积,取值范围[0,1])

    基于深度学习的有监督的语音增强方法
    这个部分在这里不做标记,想了解的可以参考汪德亮老师的综述,详细的介绍了单通道语音增强。
    模型训练策略
    我们所尝试的训练策略,第一种是分别训练好语音增强模型和关键词检测模型,即使带噪语音先经过增强模型进行降噪,之后将纯净语音送入关键词检测模式进行识别。但这种模式有缺陷,语音增强的训练目标是以最大化信噪比为准则,在这种准则下语音的可懂度和语音真实性无法得到保证,会导致语音失真,使得关键词检测模型无法准确识别。第二种训练策略是使用经过增强模型降噪之后的训练特征和测试关键词检测模型。但这种方法太过于依赖语音增强模型的性能。第三种就是联合训练,将两个模型合起来生成更大的模型,通过反向传播算法联合训练两个模型,语音关键词检测模型中的语言学和其他有用的信息可以传送给语音增强模型,使两个模型彼此优化。
    基于Joint-BiLSTM的鲁棒性关键词检测系统
    系统架构:
    在这里插入图片描述
    关键词检测系统的输入特征为MFCC,输出某一个类别的后验概率,通过计算平滑窗内的置信度得分来推断关键词类别。识别模型使用的网络为CNN模型,增强模型为2层BiLSTM,每层384结点,训练CNN的损失函数是交叉熵,训练BiLSTM模型的损失函数为均方误差,使用Adam优化器。
    实验结果分析
    在这里插入图片描述
    可以看出,我们的训练模型显著提升了关键词检测系统的识别性能,提高了关键词检测模型的背景噪声鲁棒能力。

    在这里插入图片描述
    低资源占用的卷积循环神经网络
    本文设计了一种新颖的CRN结构,在CRN结构中组合了CNN编码器和长短时记忆层。除此之外还研究了特征转换模块,并对比了能量域特征和梅尔域特征。
    CRN结构,采用CNN进行编码解码,解码器之后是一层sigmoid输出层。编码器是堆叠了几层卷积层(两种特征域的系统结构卷积层数不同),解码器结构和编码器相对应,保证了系统的输出跟输入有相同的维度。在卷积编码结构中无法利用上下文信息,而为了追踪目标说话人,利用上下文信息非常重要,所以引入LSTM。在编码器和解码器中间加入一层双向LSTM。
    在这里插入图片描述
    在这里插入图片描述
    引入了两种增强特征,能量谱和梅尔谱,分别对两种特征设计了基于CRN的网络。对比本实验中全部模型,从模型类别、特征域、音标数量敏感、训练策略以及噪声泛化五个方面进行分析。结果表明,本文提出的低资源占用的CRN在噪声匹配和不匹配的情况下,与基于BiLSTM模型相比,有着更好的性能,同时需要少量的计算资源。不仅如此,提出的基于梅尔域的增强特征在关键词检测任务上性能表现优于能量谱特征,并且对关键词的音标数量不敏感。

    展开全文
  • 提出一种基于数据库模式的数据库关键词检索结果展现方法S-CBR(schema-based classification, browsing and retrieving),包括结果分类、用户浏览和再次检索3个过程.S-CBR首先利用数据库模式和查询关键词自动产生第一...
  • 文件中关键词检索

    2009-10-23 10:40:37
    今天做文件中关键词检索时,最开始使用对文件逐行读取,再在该行查找是否包含该词de 方法。在检索一个关键词时这样没有问题,但是如果不断有新的关键词进行检索,则必须重复以上的步骤,继续逐行读取,相当的浪费cpu...
    今天做文件中关键词检索时,最开始使用对文件逐行读取,再在该行查找是否包含该词de 方法。在检索一个关键词时这样没有问题,但是如果不断有新的关键词进行检索,则必须重复以上的步骤,继续逐行读取,相当的浪费cpu,经人指正,在检索频率较高时,完全可以先一次将整个文件读取到一个HashMap中,将关键词类设为key,这样以后每次再查找时将极大提高效率,不至于做重复工作。sigh...
    展开全文
  • pdfjs_1.1.159内添加在指定页码使用关键词进行在当前页面进行检索,并且可选所有关键词高亮
  •    ...单个关键词检索实现如下: def adProQuery(): content = request.form.get('ad_proSearch')#需要查询的内容 if content is None: content = "" pros = Cy_regist.query.f
  • python 微博爬虫之关键词检索

    千次阅读 2019-06-11 17:22:36
    m = input('你想查找的内容:')#控制检索关键词 n = int(input('你想查找多少页:')#控制检索页码 def get_page(page): url = '...
  • 一篇文章可以有多个关键词,系统可以根据这些关键词将其他包含这些关键词的文章检索出来 (是跟其他文章的关键字匹配,要求是模糊匹配,例如 : 文章1 的关键词有:asp.net、C#、MVC、软件开发; 文章2 的关键字...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,923
精华内容 23,569
关键字:

关键词检索