专栏首页小鹏的专栏[TextMatch框架] QA Match (QA匹配)

[TextMatch框架] QA Match (QA匹配)

run examples

git clone https://github.com/MachineLP/TextMatch
cd TextMatch
export PYTHONPATH=${PYTHONPATH}:../TextMatch
python tests/core_test/qa_match_test.py

qa match

import sys
from textmatch.core.qa_match import QMatch, AMatch, SemanticMatch

test_dict = {"id0": "其实事物发展有自己的潮流和规律",
   "id1": "当你身处潮流之中的时候,要紧紧抓住潮流的机会",
   "id2": "想办法脱颖而出,即使没有成功,也会更加洞悉时代的脉搏",
   "id3": "收获珍贵的知识和经验。而如果潮流已经退去",
   "id4": "这个时候再去往这个方向上努力,只会收获迷茫与压抑",
   "id5": "对时代、对自己都没有什么帮助",
   "id6": "但是时代的浪潮犹如海滩上的浪花,总是一浪接着一浪,只要你站在海边,身处这个行业之中,下一个浪潮很快又会到来。你需要敏感而又深刻地去观察,略去那些浮躁的泡沫,抓住真正潮流的机会,奋力一搏,不管成败,都不会遗憾。"}


def test_q_match(testword):
    # QMatch
    q_match = QMatch( q_dict=test_dict, match_models=['bow', 'tfidf', 'ngram_tfidf']) 
    q_match_pre = q_match.predict(testword, match_strategy='score', vote_threshold=0.5, key_weight = {'bow': 1, 'tfidf': 1, 'ngram_tfidf': 1})
    print ('q_match_pre>>>>>', q_match_pre )
    return q_match_pre

def test_a_match(testword):
    # AMatch
    a_match = AMatch( a_dict=test_dict, match_models=['bow', 'tfidf', 'ngram_tfidf']) 
    a_match_pre = a_match.predict(testword, ['id0', 'id1'], match_strategy='score', vote_threshold=0.5, key_weight = {'bow': 1, 'tfidf': 1, 'ngram_tfidf': 1}) 
    print ('a_match_pre>>>>>', a_match_pre )
    # a_match_pre>>>>> {'id0': 1.0, 'id1': 0.0} 
    return a_match_pre


def test_semantic_match(testword,words_dict=test_dict):
    # SemanticMatch
    s_match = SemanticMatch( words_dict=words_dict, match_models=['bow', 'tfidf', 'ngram_tfidf'] ) 
    s_match_pre = s_match.predict(testword, ['id0','id1', "id5"], match_strategy='score', vote_threshold=0.5, key_weight = {'bow': 1, 'tfidf': 1, 'ngram_tfidf': 1})
    print ('s_match_pre>>>>>', s_match_pre ) 
    # s_match_pre>>>>> {'id0': 1.0, 'id1': 0.0}
    return s_match_pre




if __name__ == '__main__':
    testword = "其实事物发展有自己的潮流和规律"
    test_q_match(testword)
    test_a_match(testword)
    test_semantic_match(testword)

基于关键词辅助

run examples

git clone https://github.com/MachineLP/TextMatch
cd TextMatch
export PYTHONPATH=${PYTHONPATH}:../TextMatch
python tests/core_test/qa_match_kw_test.py
import sys
from textmatch.core.qa_match_kw import QAMatchKW

res_dict={'id0':0.8, 'id1':0.3}

qkw_dict = {
    'id0': ['神仙水|神仙', '价格|多少钱'],
    'id1': ['海蓝之谜|lammer', '面霜', '功效|功能|作用'],
    'id2': ['快递']
    }

akw_dict = {
    'id0': ['799|七百九十九|七九九'],
    'id1': ['补水|祛斑'],
    'id2': ['顺丰']
    }

def test_qkw_match(testword):
    qkw_match = QAMatchKW( qkw_dict=qkw_dict, akw_path=akw_dict ) 
    res = qkw_match.post_processing_q( testword,res_dict )
    print ('res>>>>>', res )
    return res


def test_akw_match(testword):
    qkw_match = QAMatchKW( qkw_dict=qkw_dict, akw_path=akw_dict ) 
    res = qkw_match.post_processing_a( testword,res_dict )
    print ('res>>>>>', res )
    return res



if __name__ == '__main__':
    testword = "神仙税多少钱"
    test_qkw_match(testword)
    testword = "799"
    test_akw_match(testword)

'''
res>>>>> {'id0': 1.0}
res>>>>> {'id0': [1.0, '神仙水'], 'id1': [0.0, '海蓝之谜|lammer']}
'''

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [TextMatch框架] 简介

    TextMatch is a semantic matching model library for QA & text search … It’s easy ...

    MachineLP
  • 无监督对话数据清洗利器:Data Purification Framework

    用户1737318
  • 【CQA论文笔记】基于卷积深度相关性计算的社区问答方法,建模问题和回答的匹配关系

    【导读】将基于社区的问答(CQA)网站变得越来越火,用户通过它们可以从其他用户那里获取更为复杂、细致和个性化的答案。但是现有的方法主要是基于词包,但在短文本匹配...

    WZEARW
  • AAAI 2020 提前看 | 三篇论文解读问答系统最新研究进展

    在本篇提前看中,我们重点聚焦 AAAI 2020 中与问答系统(Q&A)相关的文章。问答系统是自然语言处理领域的一个重要研究方向,近年来各大国际会议、期刊都发表...

    机器之心
  • (含源码)问答对生成(QAG)| 你竟还在手工梳理问答对!?

    AI时代,不同的行业都有自己的智能客服,比如银行智能客服、导购智能客服、后期服务支持智能客服等。训练客服机器人需要利用高质量、大量业务场景问答对(QA)作为语...

    ShuYini
  • 基于深度学习的FAQ问答系统

    | 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于...

    腾讯知文实验室
  • 【QA论文笔记】问答对排序新方法,层次循环编码器与主题聚类结合

    WZEARW
  • 练习题 - 基于快速文本标题匹配的知识问答实现(二,实现篇)

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! ...

    素质
  • 在线论坛对话中的匹配问答(CS CL)

    在对话中两转发服务器之间匹配问答关系,不仅是分析对话结构的第一步,而且对于训练对话系统也很有价值。本文提出了一种QA匹配模型,该模型同时考虑了距离信息和对话历史...

    小童

扫码关注云+社区

领取腾讯云代金券