假设我们有两个信号空间 S1 和 S2,每个空间包含数百甚至数千个信号。S1 是给定系统(飞机、汽车等)发送或接收的所有信号,S2 是系统内部子系统的软件模块发送或接收的所有信号。每个信号都有一组特定的属性,如信号名称、周期时间、电压等。
现在我想检查 S1 中的每个信号是否在 S2 中至少有一个表示,这意味着 S1 中信号的所有属性都等于 S2 中信号的所有属性。起初这听起来很容易,因为可以遍历信号及其属性并检查某处是否存在等效信号。但事实证明,两侧(S1 和 S2 信号)可能存在错误的规范,因此无法识别属于同一对的信号对。
例子:
K1 = {名称:= CAN_1234_UHV;电压:= 0.8 mV;周期=100ms}
D1 = {名称:= CAN_1234_UH;电压:= 0.8mV;周期=100 毫秒}
尽管存在一些拼写错误,但人类可以很容易地看出这两个信号可能很好地结合在一起。
所以我所做的是设计一种算法,计算每个属性的字符串的距离度量,将相似性映射到某个概率,即这个特定属性等于另一个信号的相同属性,计算平均值并将信号分类为如果这个概率达到某个阈值,则相等。
这产生了可怕的结果,因为两个信号可以被归类为相等,因为某些属性具有在信号空间中非常常见的值。所以下一步是对这些属性进行加权(信号名比周期时间更适合识别信号)。
这整个过程对我来说似乎很随意,因为我真的不知道会产生好的结果的概率和权重。所以我有一种感觉,这可以通过机器学习算法来解决,因为它可以从训练数据中得出概率和权重。
因此,总而言之,使用机器学习算法将信号识别为“足够相似”以便将它们分类为相等是否可行。我知道这个问题一般不能回答,我对“直觉”和“朝着正确的方向轻推”更感兴趣。
提前致谢