`
wxinyu
  • 浏览: 7218 次
文章分类
社区版块
存档分类
最新评论

加亮搜索关键字,摘要出关键字的上下文

阅读更多
# -*- encoding:utf-8 -*-
import re

def get_pattern(query):
    items = []
    for pstr in re.split('\s+', query):
        sub_pstr = re.sub('^[\*\?\+]', '', pstr)
        if sub_pstr: items.append(sub_pstr)

    return '(?i)%s' % '|'.join(items)

def highlight(text, query):
    query = query.strip()
    if text and query:
        def dashrepl(matchobj):
            return '<em class="hL">' + matchobj.group(0) + '</em>'
        return re.sub(get_pattern(query), dashrepl, text)
    else:
        return text

def get_summary_text(obj, query, searchable_text):
    if query and searchable_text:
        try:
            searchable_text = searchable_text.decode('utf-8')
        except:
            try:
                searchable_text = searchable_text.decode('gb18030')
            except:
                return ''

        m = re.search(get_pattern(query), searchable_text)
        if m is None: return ''

        len_text = len(searchable_text)
        if len_text <= 100:
            return highlight(searchable_text, query)

        start, end = m.span()

        summary_text = ''
        if start - 50 > 0:
            summary_text += '... '
            summary_text += searchable_text[start - 50:start]
        else:
            summary_text += searchable_text[:start]

        summary_text += m.group(0)

        end_text = searchable_text[end:]
        if len(end_text) < 50:
            summary_text += end_text
        else:
            summary_text += end_text[:50]
            summary_text += ' ...'

        return highlight(summary_text, query)
    else: return ''

 

分享到:
评论

相关推荐

    java提取文章关键字

    - 结合上下文:考虑整篇文章的语义,结合词向量模型(如Word2Vec、GloVe)提升关键词的准确性。 - 应用场景:关键词提取广泛应用于搜索引擎、新闻摘要、社交媒体分析等领域。 在提供的压缩包中,"tiqu"可能是...

    ICDE 09 rdf的关键字搜索, 关键论文一篇

    这种做法的好处在于,用户可以根据上下文选择最合适的查询进行进一步处理。 - **利用数据库引擎**:一旦选择了查询,就可以使用现有的数据库引擎来执行查询。这样做的优势在于能够利用数据库系统中已有的优化机制,...

    自动标签系统(关键字提取)

    这些模型能捕获更复杂的上下文信息,提升提取效果。 6. **后处理**:包括关键词去重、排序、过滤等,确保提取出的关键词具有代表性且数量适中。 在实际应用中,自动标签系统常用于搜索引擎优化(SEO),通过提取...

    context_rank:Semantyc 是一个上下文移动搜索引擎,它以用户“人”为中心,将结果返回给与用户相关和个性化的查询,并且基于用户查询的含义而不是查询中的关键字

    Semantyc 是一种基于上下文搜索的方法,它以用户/“人”为中心,并将结果返回给与用户相关和个性化的查询,并且基于用户查询的含义而不是查询中的关键字。介绍搜索在用户生命周期中扮演着重要角色。 它旨在消除花费...

    关键字提取

    在关键字提取中,CRF模型可以利用上下文信息来预测每个词是否为关键字,从而提高提取的准确性。 条件随机场模型的基本思想是,给定一个观察序列,模型会计算所有可能的状态序列的概率,并选择概率最高的那个作为...

    RNN-CNN和关键字提取

    在IT领域,文本处理是至关重要的任务之一,特别是在自然语言处理(NLP)中。...对于关键字提取,RNN可以理解整个句子的语义,而CNN则可以帮助识别关键词的上下文特征,两者结合往往能够更准确地提取出文本的关键信息。

    Selection Context Search-crx插件

    摘要: - 右键单击​​所选文本,然后从弹出窗口或上下文菜单中选择搜索网站 - 网站列表是在分机选项页面中编辑的。该列表可以包含书签文件夹。 - 上下文菜单中的无限嵌套文件夹深度 - 导出或导入网站列表 - 可选择...

    JAVA开源关键词提取框架

    有时也会结合语义分析,考虑词语的上下文含义。 5. **优化**:最后,可能需要进行一些后处理,比如合并同义词、消除重复等,以得到更精炼的关键词列表。 在Java中,有一些开源框架可以帮助实现这些功能,如Apache ...

    Windchill100用户培训-PDM系统常用操作.pptx

    Windchill 系统提供了高级搜索功能,用户可以定义搜索条件,包括关键字、类型、上下文条件等。用户可以保存搜索条件以便下次使用。 本文档提供了 Windchill 10.0 用户培训-PDM 系统常用操作的详细介绍,为用户提供...

    SCC 利用分类技术改进的短摘要比较方法 (2005年)

    未来的研究可以进一步探索如何结合用户反馈和其他上下文信息来进一步优化SCC方法,以实现更加精准的信息检索。 #### 参考文献与关键词 - **关键词**:信息检索;文档比较;摘要;用户反馈 - **中图分类号**:TP391...

    关键词抽取

    这些模型通过学习上下文语境中的词义表示,能更好地理解词语在不同语境下的重要性。 关键词抽取在多个领域有广泛的应用。在信息检索中,它可以快速定位文档的主题,帮助用户找到相关的信息。在文本摘要中,关键词...

    HUNDUN Digest-crx插件

    语言:English (United States) 使用HUNDUN一键获取摘要的Web文章。 转到您最喜欢的新闻网站,并使用HUNUN获得摘要文本!...-关键字云:查看常用关键字以帮助您评估文章上下文。 请等待加载图标充满电,以获取摘要文章!

    Unsupervised-Deep-Keyphrase-Generation:“无监督的深度关键字生成”的主要代码

    1. 循环神经网络(RNN):RNNs在处理序列数据时特别有效,可以捕捉到输入序列的上下文信息。在本场景中,RNN可用于生成与文本相关的关键词序列。 2. 长短期记忆网络(LSTM):LSTM是RNN的一种变体,解决了RNN的梯度...

    基于特定语料库的TF-IDF的中文关键词提取

    在实际应用中,为了优化关键词提取效果,我们还可以引入其他策略,如词的上下文信息、词的互信息、TF-IDF的滑动窗口版本等。此外,还可以结合词的相关性和协同过滤等方法,提升关键词的准确性和全面性。 在"tf-idf-...

    dataset-search

    资料集搜寻 概要 在此存储库中,我们提供了数据集搜索引擎的源代码。 网络上有大量且不断增长的数据集。 提供了数据集搜索引擎(例如... 因此,将创建一个包含科学问题描述(论文摘要或引文上下文)和相应数据集的火

    textrank:通过使用Textrank算法查找相关的句子和关键字来汇总文本

    - 静态模型:无法适应语义变化和上下文依赖。 四、拓展应用与改进 尽管存在局限性,Textrank算法仍被广泛用于新闻摘要、学术论文摘要生成、文档检索等领域。近年来,研究者们提出了许多改进方法,如结合深度学习...

Global site tag (gtag.js) - Google Analytics