The present disclosure is directed to associating computing devices with each other based on computer network activity for selection of content items as part of an online content item placement campaign. A first linking factor is identified based on a connection between a first device and the computer network via a first IP address during a first time period, and based on a connection between a second device and the computer network via the first IP address during the first time period. A number of devices that connect with the computer network via the first IP address is determined. A positive match probability is generated. A second and third linking factors are monitored. A negative match probability is determined based on the second and third linking factors. The first device is linked with the second device based on the positive and negative match probabilities.
Please help me write a proper abstract based on the patent claims. CLAIM: 1.-20. (canceled) 21. A system to associate computing devices with each other based on computer network activity, comprising: a data processing system having a matching engine and a connector executed by one or more processors, the data processing system to: receive, via a connection between a first computing device and a computer network, data packets comprising voice input detected by a sensor of the first computing device at a first location in a first time period; receive, via a connection between a second computing device and the computer network, data packets comprising voice input detected by a sensor of a second computing device at the first location in the first time period; identify a first linking factor based on the connection between the first computing device and the computer network providing the voice input from the first computing device in the first time period, and based on the connection between the second computing device and the computer network providing the voice input from the second computing device in the first time period; determine a number of computing devices other than the first computing device that connect with the computer network at the first location during the first time period; generate a positive match probability based on the first linking factor and based on the number of computing devices; monitor for a second linking factor based on input activity at the first computing device in a second time period, and based on input activity at the second computing device in the second time period; monitor for a third linking factor based on activity at the first computing device at the first location during a third time period, and based on activity at the second computing device at a second location in the third time period; determine a negative match probability based on the second linking factor and based on the third linking factor; link the first computing device with the second computing device based on the positive match probability and the negative match probability; and create a data structure to indicate a link between the first computing device and the second computing device. 22. The system of claim 21, wherein the data processing system comprises a geographic location module, the data processing system to: receive geo-location data points from the first computing device to determine the first computing device is at the first location; and receive geo-location data points from the second computing device to determine the second computing device is at the first location. 23. The system of claim 21, wherein the data processing system comprises a geographic location module, the data processing system to: receive geo-location data points from the first computing device, the geo-location data points comprising at least one of Global Positioning System information, Wi-Fi information, an IP address, Bluetooth information or cell tower triangulation information. 24. The system of claim 21, comprising the data processing system to: increase the positive match probability based on an identification, by the data processing system, of activity from the first computing device corresponding to a cessation of activity at the second computing device at a fourth time period. 25. The system of claim 21, comprising the data processing system to: increase the positive match probability based on a number of computing devices other than the first computing device identified by the data processing system at the first location during the first time period. 26. The system of claim 21, comprising the data processing system to: link the first computing device with the second computing device based on an overall match probability based on a weight for positive match probability, a weight for negative match probability, the positive match probability, and the negative match probability. 27. The system of claim 26, comprising the data processing system to: calibrate the weight for positive match probability and the weight for negative match probability based on known links and known non-links. 28. The system of claim 21, comprising the data processing system to: generate a first vector of activities for the first computing device based on successive data points that indicate the first location, activity, and time of day; generate a second vector of activities for the second computing device based on successive data points that indicate the first location, activity, and time of day; adjust the positive match probability and the negative match probability based on a comparison between the first vector and the second vector. 29. The system of claim 21, wherein an anonymous ID of the first computing device is used as the identifier for the linked first computing device and second computing device. 30. The system of claim 21, comprising the data processing system to: monitor for a fourth linking factor of a third computing device and a fourth computing device based on voice input activity at the third computing device in a fourth time period, and based on voice input activity at the fourth computing device during the fourth time period; monitor for a fifth linking factor of the third computing device and the fourth computing device based on activity at the third computing device at a third location in a fifth time period, and based on activity at the fourth computing device at a fourth location during the fifth time period; generate a second negative match probability based on the fourth linking factor of the third computing device and the fourth computing device and based on the fifth linking factor of the third computing device and the fourth computing device; determine a non-link between the third computing device and the fourth computing device based on the second negative match probability; and modify the data structure to indicate a non-link between the third computing device and the fourth computing device. 31. The system of claim 21, comprising the data processing system to: select a content item for placement with an online document on the second computing device based on the link and based on computer network activity of the first computing device. 32. The system of claim 21, wherein the third linking factor is based on a geographic distance between the first computing device and the second computing device based on the input activity at the first computing device at the first location during the third time period, and based on the input activity at the second computing device at the second location. 33. A method of associating computing devices with each other based on computer network activity, comprising: receiving, by a data processing system having a matching engine and a connector executed by one or more processors, via a connection between a first computing device and a computer network, data packets comprising voice input detected by a sensor of the first computing device at a first location in a first time period; receiving, by the data processing system, via a connection between a second computing device and the computer network, data packets comprising voice input detected by a sensor of a second computing device at the first location in the first time period; identifying, by the data processing system, a first linking factor based on the connection between the first computing device and the computer network providing the voice input from the first computing device in the first time period, and based on the connection between the second computing device and the computer network providing the voice input from the second computing device in the first time period; determining, by the data processing system, a number of computing devices other than the first computing device that connect with the computer network at the first location during the first time period; generating, by the data processing system, a positive match probability based on the first linking factor and based on the number of computing devices; monitoring, by the data processing system, for a second linking factor based on input activity at the first computing device in a second time period, and based on input activity at the second computing device in the second time period; monitoring, by the data processing system, for a third linking factor based on activity at the first computing device at the first location during a third time period, and based on activity at the second computing device at a second location in the third time period; determining, by the data processing system, a negative match probability based on the second linking factor and based on the third linking factor; and linking, in a data structure, the first computing device with the second computing device based on the positive match probability and the negative match probability. 34. The method of claim 33, comprising: receiving geo-location data points from the first computing device to determine the first computing device is at the first location; and receiving geo-location data points from the second computing device to determine the second computing device is at the first location. 35. The method of claim 33, comprising: receiving geo-location data points from the first computing device, the geo-location data points comprising at least one of Global Positioning System information, Wi-Fi information, an IP address, Bluetooth information or cell tower triangulation information. 36. The method of claim 33, comprising: increasing the positive match probability based on an identification, by the data processing system, of activity from the first computing device corresponding to a cessation of activity at the second computing device at a fourth time period. 37. The method of claim 33, comprising: increasing the positive match probability based on a number of computing devices other than the first computing device identified by the data processing system at the first location during the first time period. 38. The system of claim 33, comprising: linking the first computing device with the second computing device based on an overall match probability based on a weight for positive match probability, a weight for negative match probability, the positive match probability, and the negative match probability. 39. The method of claim 33, comprising: generating a first vector of activities for the first computing device based on successive data points indicating the first location, activity, and time of day; generating a second vector of activities for the second computing device based on successive data points indicating the first location, activity, and time of day; adjusting the positive match probability and the negative match probability based on a comparison between the first vector and the second vector. 40. The method of claim 33, comprising: monitoring for a fourth linking factor of a third computing device and a fourth computing device based on voice input activity at the third computing device during a fourth time period, and based on voice input activity at the fourth computing device during the fourth time period; monitoring for a fifth linking factor of the third computing device and the fourth computing device based on activity at the third computing device at a third location during a fifth time period, and based on activity at the fourth computing device at a fourth location during the fifth time period; generating a second negative match probability based on the fourth linking factor of the third computing device and the fourth computing device and based on the fifth linking factor of the third computing device and the fourth computing device; determining a non-link between the third computing device and the fourth computing device based on the second negative match probability; and modifying the data structure to indicate a non-link between the third computing device and the fourth computing device.