6. A system for labeling data for use in classification, said system comprising: a database for storing data records with which said data is associated; a server system and a user interface in communication with the server system, wherein the server system comprises one or more processors and a memory accessible to the one or more processors and storing program instructions executable by the one or more processors, the programming instructions being arranged in a plurality of modules comprising a clustering module, a self-labeling module, and a classification module; wherein the clustering module is configured to cause the one or more processors to receive data associated with said data records, said data comprising labeled data and unlabeled data, and generate a self-organizing map of the data, said self-organizing map comprising a plurality of nodes each comprising one or more of said data records; wherein the self-labeling module is configured to cause the one or more processors to identify each node in the self-organizing map that comprises at least one data record having a label, and for each said node, assign said label of said at least one data record of said node to each unlabeled data record in said node, and perform a self-labeling of data records by, for each selected node in the self-organizing map that comprises at least one data record having a label: identifying a first plurality of nodes in said self-organizing map, each node of said first plurality being adjacent to said selected node, identifying a second plurality of nodes in said self-organizing map, each node of said second plurality being either adjacent to said selected node or adjacent to a node of said first plurality other than said selected node, where there are no nodes in said first plurality or in said second plurality comprising at least one data record having a label different from the label of the at least one data record in said selected node, assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality, where there is at least one node in said first plurality comprising at least one data record having a label different from the label of the at least one data record in said selected node, not assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality, and where there are no nodes in said first plurality comprising at least one data record having a label different from the label of said selected node but there is at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node, assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality that is not adjacent to the at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node, and not assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality that is adjacent to the at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node; and wherein the classification module is configured to cause the one or more processors to train a classifier for data classification in a customer relationship management system after performing said self-labeling, wherein said classifier is trained based on data of data records having a label in said self-organizing map.
6. A system for labeling data for use in classification, said system comprising: a database for storing data records with which said data is associated; a server system and a user interface in communication with the server system, wherein the server system comprises one or more processors and a memory accessible to the one or more processors and storing program instructions executable by the one or more processors, the programming instructions being arranged in a plurality of modules comprising a clustering module, a self-labeling module, and a classification module; wherein the clustering module is configured to cause the one or more processors to receive data associated with said data records, said data comprising labeled data and unlabeled data, and generate a self-organizing map of the data, said self-organizing map comprising a plurality of nodes each comprising one or more of said data records; wherein the self-labeling module is configured to cause the one or more processors to identify each node in the self-organizing map that comprises at least one data record having a label, and for each said node, assign said label of said at least one data record of said node to each unlabeled data record in said node, and perform a self-labeling of data records by, for each selected node in the self-organizing map that comprises at least one data record having a label: identifying a first plurality of nodes in said self-organizing map, each node of said first plurality being adjacent to said selected node, identifying a second plurality of nodes in said self-organizing map, each node of said second plurality being either adjacent to said selected node or adjacent to a node of said first plurality other than said selected node, where there are no nodes in said first plurality or in said second plurality comprising at least one data record having a label different from the label of the at least one data record in said selected node, assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality, where there is at least one node in said first plurality comprising at least one data record having a label different from the label of the at least one data record in said selected node, not assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality, and where there are no nodes in said first plurality comprising at least one data record having a label different from the label of said selected node but there is at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node, assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality that is not adjacent to the at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node, and not assigning the label of the at least one data record in said selected node to each unlabeled data record in each node of said first plurality that is adjacent to the at least one node in said second plurality comprising at least one data record having a label different from the label of said selected node; and wherein the classification module is configured to cause the one or more processors to train a classifier for data classification in a customer relationship management system after performing said self-labeling, wherein said classifier is trained based on data of data records having a label in said self-organizing map. 7. The system of claim 6 , wherein in use, a data field or a user selection is completed using the classifier.