Artificial intelligence-based property data linking system
A data linking system is described herein that links data records corresponding to a particular real estate property even if there are inconsistencies in the data records, the physical presence of the real estate property has changed over time, and/or the data records use different terminology. In some cases the data records are matched using a trained machine learning model. The data linking system can optionally generate a visualization of the data record linkage via interactive user interfaces. By linking data records despite the issues described above, the data linking system reduces the number of navigational steps a user performs to obtain data associated with a property and/or reduces data processing times. The disclosed system may be used to generate and maintain a comprehensive database of substantially all properties within a jurisdiction, in which a unique identifier is assigned to each property.
1 . A system comprising:
a data store; and
a computing system comprising one or more computing devices, wherein the computing system is configured with specific computer-executable instructions to at least:
obtain a plurality of data records;
determine, from the plurality of data records, a first data record pair that comprises a first data record and a second data record, wherein the first data record and the second data record include a first property attribute value;
determine a second data record pair that comprises a third data record and a fourth data record in the plurality of data records, wherein the first data record and the second data record include a second property attribute value;
convert the first data record pair into a first vector comprising the first property attribute value, wherein the first vector is labeled with an indication that the first data record pair corresponds to a first property;
convert the second data record pair into a second vector comprising the second property attribute value, wherein the second vector is labeled with an indication that the first data record pair corresponds to a second property;
train a machine learning model to identify a match between data records by providing the first vector and the second vector to the machine learning model;
identify, from a fifth data record separate from the plurality of data records, a third property attribute value;
generate, based on the fifth data record, a third vector comprising the third property attribute value;
provide the third vector as an input to the trained machine learning model, the trained machine learning model to determine a match between the third vector and the first vector, wherein the match indicates that the fifth data record corresponds to the first property;
link the fifth data record to a first unique identifier associated with the first property;
cause a user interface to be displayed on a user device, wherein the user interface depicts the first property within a geographic map, a search field, and a slider, wherein a first position of the slider corresponds to the geographic map at a first time;
in response to a movement of the slider from the first position to a second position corresponding to the geographic map at a second time, cause the geographic map to be updated, wherein updating the geographic map comprises:
determining a fourth property attribute of the fifth data record, wherein the fourth property attribute includes an update to the first property that occurred between the first time and the second time;
causing the geographic map to be updated based on the fourth property attribute, wherein the fourth property attribute is overlaid on the geographic map.
2 . The system of claim 1 , wherein a fifth property attribute value depicted in the user interface comprises the first unique identifier associated with the first property.
3 . The system of claim 2 , wherein the computing system is further configured with specific computer-executable instructions to at least:
determine that a second property was modified to create the first property; and
in response to the movement of the slider from the first time to the second time before the first time, cause the user interface to be updated to depict the second property in place of the first property.
4 . The system of claim 3 , wherein the first unique identifier associated with the first property is linked to a second unique identifier associated with the second property in the data store, and wherein the computing system is further configured with specific computer-executable instructions to at least, in response to the movement of the slider from the first time to the second time before the first time, cause the user interface to be updated to depict the second unique identifier overlaid on the geographic map.
5 . The system of claim 3 , wherein the second property was one of merged or split to create the first property.
6 . The system of claim 3 , wherein the computing system is further configured with specific computer-executable instructions to at least query the data store using entered text, wherein the entered text comprises one of an assessor parcel number, a subdivision, a lot number, a tract number, a block number, a physical street address, geographic coordinates, a legal party name, a number of bedrooms, a number of bathrooms, a year built, a tax assessment value, an appraisal value, or a listing price.
7 . The system of claim 1 , wherein the fourth property attribute is depicted in one of a pop-up window or a tooltip window overlaid on the geographic map.
8 . The system of claim 1 , wherein the user interface depicts a location and a size of the first property in the geographic map.
9 . The system of claim 1 , wherein the computing system is further configured with specific computer-executable instructions to at least:
determine that a second property shares a fourth property attribute value with a sixth data record separate from the plurality of data records;
generate a fourth feature-based representation of a combination of property attribute values of the sixth data record and property attributes values of the second property;
provide the fourth feature-based representation as a second input to the trained machine learning model, wherein providing the fourth feature-based representation as the second input to the trained machine learning model causes the trained machine learning model to output an indication that the sixth data record corresponds to a second unique identifier of the second property; and
determine that the indication output by the trained machine learning model is incorrect in response to a determination that the property attribute values of the second property match the sixth data record and a seventh data record separate from the plurality of data records.
10 . A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific computer-executable instructions,
obtaining a plurality of data records;
determining, from the plurality of data records, a first data record pair that comprises a first data record and a second data record, wherein the first data record and the second data record include a first property attribute value;
determining a second data record pair that comprises a third data record and a fourth data record in the plurality of data records, wherein the first data record and the second data record include a second property attribute value; converting the first data record pair into a first vector comprising the first property attribute value, wherein the first vector is labeled with an indication that the first data record pair corresponds to a first property;
converting the second data record pair into a second vector comprising the second property attribute value, wherein the second vector is labeled with an indication that the first data record pair corresponds to a second property;
training a machine learning model to identify a match between data records by providing the first vector and the second vector to the machine learning model;
identifying, from a fifth data record separate from the plurality of data records, a third property attribute value;
generating, based on the fifth data record, a third vector comprising the third property attribute value;
providing the third vector as an input to the trained machine learning model, the trained machine learning model to determine a match between the third vector and the first vector, wherein the match indicates that the fifth data record corresponds to the first property;
linking the fifth data record to a first unique identifier associated with the first property;
causing a user interface to be displayed on a user device, wherein the user interface depicts the first property within a geographic map, a search field, and a user interface feature, wherein a first position of the user interface feature corresponds to the geographic map at a first time;
in response to a movement of the user interface feature from the first position to a second position corresponding to the geographic map at a second time, causing the geographic map to be updated, wherein updating the geographic map comprises:
determining a fourth property attribute of the fifth data record, wherein the fourth property attribute includes an update to the first property that occurred between the first time and the second time;
causing the geographic map to be updated based on the fourth property attribute, wherein the fourth property attribute is overlaid on the geographic map.
11 . The computer-implemented method of claim 10 , wherein a fifth property attribute value depicted in the user interface comprises the first unique identifier associated with the first property.
12 . The computer-implemented method of claim 11 , wherein causing the user interface to be updated further comprises:
in response to texted entered in the search field, querying a data store using the entered text;
determining that a second property was modified to create the first property based on the query; and
in response to an interaction with the user interface feature, causing the user interface to be updated to depict the second property in place of the first property.
13 . The computer-implemented method of claim 12 , wherein the first unique identifier associated with the first property is linked to a second unique identifier associated with the second property in the data store, and wherein causing the user interface to be updated further comprises, in response to the interaction with the user interface feature, causing the user interface to be updated to depict the second unique identifier overlaid on the geographic map.
14 . The computer-implemented method of claim 12 , wherein the second property was one of merged or split to create the first property.
15 . The computer-implemented method of claim 12 , wherein the entered text comprises one of an assessor parcel number, a subdivision, a lot number, a tract number, a block number, a physical street address, geographic coordinates, a legal party name, a number of bedrooms, a number of bathrooms, a year built, a tax assessment value, an appraisal value, or a listing price.
16 . The computer-implemented method of claim 10 , wherein the fourth property attribute is depicted in one of a pop-up window or a tooltip window overlaid on the geographic map.
17 . The computer-implemented method of claim 10 , wherein the user interface depicts a location and a size of the first property in the geographic map.
18 . The computer-implemented method of claim 10 , wherein the user interface feature comprises one of a slider, a dropdown box, or a menu.
19 . Non-transitory, computer-readable storage media comprising computer-executable instructions for depicting property information, wherein the computer- executable instructions, when executed by a computer system, cause the computer system to:
obtain a plurality of data records;
determine, from the plurality of data records, a first data record pair that comprises a first data record and a second data record, wherein the first data record and the second data record include a first property attribute value;
determine a second data record pair that comprises a third data record and a fourth data record in the plurality of data records, wherein the first data record and the second data record include a second property attribute value;
convert the first data record pair into a first vector comprising the first property attribute value, wherein the first vector is labeled with an indication that the first data record pair corresponds to a first property;
convert the second data record pair into a second vector comprising the second property attribute value, wherein the second vector is labeled with an indication that the first data record pair corresponds to a second property;
train a machine learning model to identify a match between data records by providing the first vector and the second vector to the machine learning model;
identify, from a fifth data record separate from the plurality of data records, a third property attribute value;
generate, based on the fifth data record, a third vector comprising the third property attribute value;
provide the third vector as an input to the trained machine learning model, the trained machine learning model to determine a match between the third vector and the first vector, wherein the match indicates that the fifth data record corresponds to the first property;
link the fifth data record to a first unique identifier associated with the first property;
cause a user interface to be displayed on a user device, wherein the user interface depicts the first property within a geographic map, a search field, and a user interface feature, wherein a first position of the user interface feature corresponds to the geographic map at a first time;
in response to a movement of the user interface feature from the first position to a second position corresponding to the geographic map at a second time, cause the geographic map to be updated, wherein updating the geographic map comprises:
determining a fourth property attribute of the fifth data record, wherein the fourth property attribute includes an update to the first property that occurred between the first time and the second time;
causing the geographic map to be updated based on the fourth property attribute, wherein the fourth property attribute is overlaid on the geographic map.
20 . The non-transitory, computer-readable storage media of claim 19 , wherein a third property attribute value comprises the first unique identifier associated with the first property, and wherein the computer-executable instructions further cause the computer system to:
in response to text entered in the search field, query a data store using the entered text;
determine that a second property was modified to create the first property based on the query; and
in response to interaction with the user interface feature, cause the user interface to be updated to depict the second property in place of the first property.
21 . The non-transitory, computer-readable storage media of claim 19 , wherein the user interface feature comprises one of a slider, a dropdown box, or a menu.