Python中的匹配算法

数据挖掘 机器学习 Python 深度学习 算法
2022-03-05 01:25:17

我们为商业房地产行业运营在线市场,并正在寻求编写匹配算法以降低业主/租户的搜索和交易成本。

我们有两组用户——所有者和租户,并希望根据他们的特征实现匹配算法。如果没有任何先前的交易数据可以使用,您将如何解决这个问题?更具体地说,您将实施哪些匹配算法技术?

代码在python中。

例子:

财产

"property": [
{
       "amenities": ["kitchen",
                     "conference room",
                     .....,
                     .....]

        "location": "Munich",
        "feature2: "xyz"
        ...
}

租户

"Tenants": [
{
       "amenities": ["kitchen",
                     "conference room",
                     .....,
                     .....]

        "location": "Munich",
        "Type": 'Retail',
        "feature3": 'xyz'
        ...
}
1个回答

根据您的描述,您只能使用描述之间的相似性,并且由于没有标记数据,因此它必须是无监督的。

  • 选项 1:启发式(即 ad-hoc 无监督方法)。根据您对数据细节的了解,实现一个函数,该函数返回一个分数,表示两个描述的相似程度。例如,基本匹配可以简单地计算两个描述之间的共同项目数除以最长描述中的项目数。对于查询描述,在将其与每个潜在匹配项进行比较后,返回 N 个最相似的匹配项。当然,这可以通过多种方式进行改进。
  • 选项 2:将每个描述表示为一个向量,并对向量对(例如余弦)使用任何通用相似性度量。表示可以是某种直接表示,例如某种 TF-IDF 向量,或者更复杂的表示,如树或图嵌入。