短文本相似度在线计算_短文本相似度在线比较_短文本相似度在线查询_自然语言处理_百度AI开放平台

短文本相似度计算服务能够提供不同短文本之间相似度的计算,输出的相似度是一个介于0到1之间的实数值,越大则相似度越高。相似度数值建议在一组数据中进行整体比对选用,输出数值越大,则代表语义相似程度相对越高。

最近有一个项目,需要用到短文本相似度的比较,一时间没有头绪,不知从何弄起,只有百度了。百度了一下后恍然大悟,原来百度AI早已提供了接口,还有各种SDK,这下瞬间就解决了我的问题。这里叨叨几句,其实网上还有其他的文章都是讲算法的,说的也很复杂,但是我这是需要立即应用在项目中也没时间去研究那些算法,还是感觉百度AI的这个接口比较快,能迅速上手,看到效果。

先来说一下百度AI开放平台,我们要先从这里开始:

http://ai.baidu.com/

首先登录你的百度账号,登录进去后,你会看到很多的百度AI的东东,比如目前最流行的“语音技术”,“人脸识别”,“自然语言”等等,如下图:

但是这里我们还是根据自己的项目来。我这里进了“自然语言”的处理。点进去后,你会惊奇地发现:

对,你没看错,这些都是免费使用,我这个项目需要用到的就是下面的“短文本相似度”的API接口。然后我们只需要创建相应的应用即可。创建好后,即可获得应用的AppID,API Key,Secret Key。有了这几样,再看SDK文档,就可以开始用起来了,这个就不说了吧,看文档大家都会的。

完成项目后,我又做了个短文本相似度的在线查询

https://www.1741.cn/nlp/

输入两个短文本,即可比较短文本的相似度。

下面是一些参考的代码:


require_once 'AipNlp.php';
header("Content-Type: text/html;charset=utf-8");

// 你的 APPID AK SK,申请了应用后,这些都会有,依次填入即可;
const APP_ID = '';
const API_KEY = '';
const SECRET_KEY = '';

$text1 = trim($_POST['aitext1']);
$text2 = trim($_POST['aitext2']);

$client = new AipNlp(APP_ID, API_KEY, SECRET_KEY);
// 如果有可选参数
$options = array();
$options["model"] = "CNN";

// 带参数调用短文本相似度
$result = $client->simnet($text1, $text2, $options);

$successRate = floor($result['score']*10000)/10000*100;

//这里是相似度的百分百
echo "地址1与地址2的相似度为:".$successRate.'%';

 

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spark可以使用余弦相似度计算文本相似度。余弦相似度是一种度量两个非零向量之间的夹角的方法,它的取值范围在-1到1之间,值越接近1表示两个向量越相似,值越接近-1表示两个向量越不相似。 下面是一个使用Spark计算文本相似度的示例代码: ```python from pyspark.ml.feature import HashingTF, IDF, Tokenizer from pyspark.ml.feature import VectorAssembler from pyspark.ml.linalg import DenseVector # 创建SparkSession spark = SparkSession.builder.appName("Short Text Similarity").getOrCreate() # 加载数据集,数据集格式为id,text1,text2 data = spark.read.csv("data.csv", header=True) # 分词 tokenizer = Tokenizer(inputCol="text", outputCol="words") data = tokenizer.transform(data) # 计算TF-IDF值 hashingTF = HashingTF(inputCol="words", outputCol="rawFeatures", numFeatures=100) idf = IDF(inputCol="rawFeatures", outputCol="features") idfModel = idf.fit(hashingTF.transform(data)) data = idfModel.transform(hashingTF.transform(data)) # 合并特征向量 assembler = VectorAssembler(inputCols=["features1", "features2"], outputCol="features") data = assembler.transform(data) # 计算余弦相似度 dot_udf = udf(lambda x, y: float(x.dot(y)), DoubleType()) similarity = data.withColumn("similarity", dot_udf(col("features1"), col("features2"))) ``` 这个示例代码中使用了HashingTF和IDF来计算TF-IDF值,然后使用VectorAssembler将两个特征向量合并为一个,最后使用udf计算余弦相似度。这个示例中使用的数据集格式为id,text1,text2,你需要根据实际情况修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值