def classifyFunding(leadsArrays): titlesList = [leadArray[2] for leadArray in leadsArrays] infoTextList = ['%s %s %s' % (leadArray[3], leadArray[6], leadArray[7]) for leadArray in leadsArrays] opportunitiesTitlesAndTexts = [[title, infoText] for title, infoText in zip(titlesList, infoTextList)] fundingClassifier = ClassifyFundingTypeKeywordBased(opportunitiesTitlesAndTexts) predictedFundingTypes = fundingClassifier.returnPredictedTags() return predictedFundingTypes
def classifyFunding(leadsArrays): titlesList = [leadArray[0] for leadArray in leadsArrays] infoTextList = ['%s %s' % (leadArray[7], leadArray[8]) for leadArray in leadsArrays] opportunitiesTitlesAndTexts = [[title, infoText] for title, infoText in zip(titlesList, infoTextList)] fundingClassifier = ClassifyFundingTypeKeywordBased(opportunitiesTitlesAndTexts) predictedFundingTypes = fundingClassifier.returnPredictedTags() return predictedFundingTypes
def test_returnPredictedTagsFakeOpportunity(self): fakeTitle = 'fakeTitle' fakeText = 'this is a fake opportunity for a scholarship' fakeOpportunity = [[fakeTitle, fakeText]] testclassify = ClassifyFundingTypeKeywordBased(fakeOpportunity) predictedtag = testclassify.returnPredictedTags()[0] self.assertEqual('Scholarship', predictedtag)
def getOverallAccuracy(): pivotDataList = GetPivotTagsTitleAbstractEligibility.getListofListofItems( ) expectedTags = GetPivotTagsTitleAbstractEligibility.getTags() predictedTags = ClassifyFundingTypeKeywordBased( pivotDataList).returnPredictedTags() accuracy = ComputeAccuracy(expectedTags, predictedTags).calculateAccuracy() print(accuracy)
def insertPredictedTagsIntoDatabase(): pivotDataList = GetPivotTagsTitleAbstractEligibility.getListofListofItems( ) predictedTags = ClassifyFundingTypeKeywordBased( pivotDataList).returnPredictedTags() db = SUDBConnect() for i in range(len(predictedTags)): predictedTag = predictedTags[i] pivotTagId = str(i + 1) db.insertUpdateOrDeleteDB("update dbo.PivotTags set Predicted='" + predictedTag + "' where PivotTagId='" + pivotTagId + "'")
def getPredictedTagsInsertIntoDatabase(): keywordsList = PivotLeadsGetDatabaseInfo.getKeywords() for keyword in keywordsList: keyword = CleanText.cleanALLtheText(keyword) titleAbstractList = PivotLeadsGetDatabaseInfo( keyword).getTitleAbstractList() predictedTags = ClassifyFundingTypeKeywordBased( titleAbstractList).returnPredictedTags() listPivotLeadIds = PivotLeadsGetDatabaseInfo( keyword).getPivotLeadId() db = SUDBConnect() for i in range(len(predictedTags)): tag = predictedTags[i] pivotLeadId = listPivotLeadIds[i] db.insertUpdateOrDeleteDB("update dbo.PivotLeads set Tag='" + tag + "' where PivotLeadId='" + pivotLeadId + "'")
def getPredictedTagsInsertIntoDatabase(): keywordsList = GrantForwardItemsGetDatabaseInfo.getKeywords() db = SUDBConnect() for keyword in keywordsList: keyword = CleanText.cleanALLtheText(keyword) titleDescriptionList = GrantForwardItemsGetDatabaseInfo( keyword=keyword).getTitleDescriptionList() predictedTags = ClassifyFundingTypeKeywordBased( titleDescriptionList).returnPredictedTags() listGrantForwardItemIds = GrantForwardItemsGetDatabaseInfo( keyword=keyword).getGrantForwardItemIds() for i in range(len(predictedTags)): tag = predictedTags[i] grantForwardItemId = listGrantForwardItemIds[i] db.insertUpdateOrDeleteDB( "update dbo.GrantForwardItems set Tag='" + tag + "' where GrantForwardItemId='" + grantForwardItemId + "'")
def getPredictedTags(self): predictedTags = ClassifyFundingTypeKeywordBased(self.titleInfoList).returnPredictedTags() return predictedTags