青团背书-基于语义相似度评分的计算1

目标定位

目标在于评分而非语义相似度的计算,考虑政治新闻和史料题对命名实体要求严格,而且主观题评分的给分点也分布在这些实体上,如时间、任务、地点…… 但是要实现更广泛的任务,如地理、生物学科,它们对命名实体()的要求没有那么严格,此时就应该考虑文本的语义。总之,该问题还是归结为普通的主观题打分问题。
具体下一文补充

严格匹配

# -*- coding: utf-8 -*-
"""
Created on Fri Oct 29 21:27:06 2021

@author: DELL
"""

import textdistance
def SentencesSimilar(s1,s2):
    #函数实现包含严格要求实体名称正确的情况,返回的值为连续值;
    #解决了一个句子之间次序的问题 不能理解语义信息
    # s1是学生答案;如果两个文本段长度相差太大应该转为局部匹配
    mmax=-1;
    len1=len(s1);
    len2=len(s2);
    if len1>2*len2:
        i=0;
        while i+len2<=len1:
            mmax=max(textdistance.cosine(s1[i:i+len2],s2),mmax)
            i=i+1
    else:
        mmax=textdistance.cosine(s1,s2)
    return mmax
if __name__ == '__main__':
    #MainFunc()
    print(SentencesSimilar("物流系统是由物流作业系统和支持物流信息流动的物流信息系统两部分组成","物流信息系统"))
    print(SentencesSimilar("物流系统是由物流作业系统和支持物流信息流动的物流信息系统两部分组成","快递信息系统"))

runfile(‘D:/大四下/cosine.py’, wdir=‘D:/大四下’)
1
runfile(‘D:/大四下/cosine.py’, wdir=‘D:/大四下’)
0.6666666666666666

引文:
http://theautomatic.net/2019/11/13/guide-to-fuzzy-matching-with-python/
基于语义相似度及命名实体识别的主观题自动评分方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值