如何在1万的短句中,根据文本相似度进行分组,速度太慢了

import hanlp

sim = hanlp.load(hanlp.pretrained.sts.STS_ELECTRA_BASE_ZH)

strArr = ['看图猜一电影名', '看图猜电影', '无线路由器怎么无线上网', '无线上网卡和无线路由器怎么用','北京到上海的动车票', '上海到北京的动车票']

sim = hanlp.load(hanlp.pretrained.sts.STS_ELECTRA_BASE_ZH)

for idx1, outer in enumerate(strArr):
   compared = []
   for idx2, inner in enumerate(strArr):
      if idx1 != idx2:
         compared.append([outer, inner])
  
   similarity_values = sim(compared)   #速度很慢的地方
   max_value = max(similarity_values)
   if max_value >= 0.85:
      m = f" [{outer}]  相似度的句子为:"
      for idx, v in enumerate(similarity_values):
         if v > 0.85:
             m = f"{m} {strArr[idx]} "
      
      print(f"{m} \n")           


当strArr集合到1万的时候,速度很慢。
很慢的原因是 strArr 中每个句子的特征值都重复集合了1万篇导致的。

我的疑问是有没有方法让每个句子的特征值 可以先保存下来的办法?

欢迎各位大咖提出意见。谢谢您