Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
List of all companies and technologies in Bloomberg Beta's "State of Machine Intelligence 3.0"

AGENTS


AGENTS - PERSONAL


  • amazon alexa
  • Cortana
  • Allo
  • Facebook
  • Siri
  • Replika

AGENTS - PROFESSIONAL


  • butter.ai
  • pogo
  • Skipflag
  • clara
  • x.ai
  • slack
  • talla
  • Zoom.ai
  • sudo

HEALTHCARE


HEALTHCARE - BIOLOGICAL


  • iCarbonX
  • color
  • Grail
  • Deep Genomics
  • Recursion
  • Luminist
  • Numerate
  • Atomwise
  • Verily
  • Whole Biome

HEALTHCARE - IMAGE


  • Butterfly
  • 3Scan
  • Arterys
  • Enlitic
  • Bay Labs
  • imagia
  • Google DeepMind

HEALTHCARE - PATIENT


  • Pulse
  • CareSkore
  • Zephyr Health
  • IBM Watson Health
  • Oncora
  • Sentrian
  • Atomwise
  • Numerate

AUTONOMOUS SYSTEMS


AUTONOMOUS SYSTEMS - INDUSTRIAL


  • Jaybridge
  • Osaro
  • Clearpath
  • Fetch Robotics
  • Kindred
  • Harvest Automation
  • Rethink Robotics

AUTONOMOUS SYSTEMS - GROUND NAVIGATION


  • drive.ai
  • AdasWorks
  • zoox
  • Mobileye
  • Uber
  • Google
  • Tesla
  • nuTonomy
  • Auro Robotics

AUTONOMOUS SYSTEMS - AERIAL


  • skydio
  • Shield AI
  • Airware
  • DJI
  • Lily
  • DroneDeploy
  • pilot.ai
  • Skycatch

INDUSTRIES


INDUSTRIES - AGRICULTURE


  • Blue River
  • mavrx
  • tule
  • Trace Genomics
  • Pivot Bio
  • TerrAvion
  • Agri-Data
  • Descartes Labs
  • udio
  • Abundant Robotics

INDUSTRIES - LEGAL


  • BlueJ
  • Beagle
  • Everlaw
  • Ravel
  • Seal
  • Ross
  • Legal Robot

INDUSTRIES - RETAIL FINANCE


  • Tala
  • Zest Finance
  • Lendo
  • Earnest
  • Affirm
  • Mirador
  • Wealthfront
  • Betterment

INDUSTRIES - LOGISTICS


  • Nauto
  • Acerta
  • Preteckt
  • Routific
  • ClearMetal
  • Marble
  • Pitstop

INDUSTRIES - MATERIALS


  • Zymergen
  • Citrine
  • Eigen Innovations
  • Sight Machine
  • Ginkgo Bioworks
  • Nanotronics
  • Calculario

INDUSTRIES - INVESTMENT


  • Bloomberg
  • Sentient
  • iSentium
  • Kensho
  • AlphaSense
  • Dataminr
  • Cerebellum Capital
  • Quandl

INDUSTRIES - EDUCATION


  • Knewton
  • Volley
  • gradescope
  • CTI
  • Coursera
  • Udacity
  • AltSchool

ENTERPRISE INTELLIGENCE


ENTERPRISE INTELLIGENCE - VISUAL


  • Orbital Insight
  • Planet Labs
  • clarifai
  • deep vision
  • cortica
  • algocian
  • space_know
  • captricity
  • netra
  • deepomatic

ENTERPRISE INTELLIGENCE - MARKET


  • mattermark
  • Quid
  • Datafox
  • Premise
  • Bottlenose
  • CB Insights
  • Enigma
  • Tracxn
  • Predata

ENTERPRISE INTELLIGENCE - INTERNAL DATA


  • Primer
  • IBM Watson
  • Cycorp
  • Palantir
  • Armio
  • Alation
  • Sapho
  • Outlier
  • Digital Reasoning

ENTERPRISE INTELLIGENCE - SENSOR


  • Predix
  • C3IoT
  • Maana
  • Sentenai
  • Planet OS
  • Uptake
  • Imubit
  • Preferred Networks
  • thingworx
  • Konux
  • Alluvium

ENTERPRISE INTELLIGENCE - AUDIO


  • Gridspace
  • TalkIQ
  • nexidia
  • Twilio
  • Capio
  • Expect labs
  • Clover
  • Mobvoi
  • Popup archive

ENTERPRISE FUNCTIONS


ENTERPRISE FUNCTIONS - MARKETING


  • Mintigo
  • Lattice
  • Radius
  • Liftigniter
  • AIR PR
  • Motiva
  • BrightFunnel
  • msg.ai
  • Retention Science
  • Persado
  • Cognicor

ENTERPRISE FUNCTIONS - SALES


  • Collective i
  • 6Sense
  • fuse machines
  • Aviso
  • Salesforce
  • InsideSales.com
  • Clari
  • Zensight

ENTERPRISE FUNCTIONS - CUSTOMER SUPPORT


  • Digital Genius
  • Kasisto
  • Eloquent
  • Wise.io
  • ActionIQ
  • Zendisk
  • Preact
  • Clarabridge

ENTERPRISE FUNCTIONS - SECURITY


  • Cylance
  • Darktrace
  • Zimperium
  • Deep Instinct
  • Sentinel
  • Demisto
  • Graphistry
  • Drawbridge
  • SignalSense
  • AppZen

ENTERPRISE FUNCTIONS - RECRUITING


  • Textio
  • Entelo
  • Wade & Wendy
  • hiQ
  • Unitive
  • SpringRole
  • Gigster
  • HireVue

MACHINE LEARNING


  • CognitiveScale
  • GoogleML
  • Context Relevant
  • Cycorp
  • HyperScience
  • Nara Logics
  • minds.ai
  • H2O.ai
  • Scaled Inference
  • SparkCognition
  • Looop
  • Geometric Intelligence
  • DeepSense.io
  • Reactive
  • Skymind
  • Bonsai

DATA CAPTURE


  • CrowdFlower
  • Diffbot
  • Crowd AI
  • import.io
  • Paxata
  • DataSift
  • Amazon Mechanical Turk
  • enigma
  • WorkFusion
  • Datalogue
  • Trifacta
  • parsehub

RESEARCH


  • OpenAI
  • nnaisense
  • Element AI
  • vicarious
  • Knoggin
  • Numenta
  • Kimera Systems
  • Cogitai

DATA SCIENCE


  • Domino
  • SparkBeyond
  • RapidMiner
  • Kaggle
  • DataRobot
  • Yhat
  • Ayasdi
  • Dataiku
  • Seldon
  • Yseop
  • BigML

DEVELOPMENT


  • Sigopt
  • HyperOpt
  • Fuzzy.io
  • Kite
  • rainforest
  • lobe
  • Anodot
  • Signifai
  • Layer6 AI
  • bonsai

HARDWARE


  • Knupath
  • Tenstorrent
  • Cirrascale
  • nvidia
  • nervana
  • Movidius
  • tensilica
  • Google TPU
  • 10^26 Labs
  • Qualcomm
  • Cerebras
  • Isosemi

AGENT ENABLERS


  • Octane.AI
  • Howdy
  • Maluuba
  • KITT.AI
  • OpenAI Gym
  • Kasisto
  • Automnt
  • Semantic

NATURAL LANGUAGE


  • Agolo
  • Aylien
  • Lexalytics
  • Narrative Science
  • Loop AI Labs
  • spaCy
  • Luminoso
  • Cortical.io
  • MonkeyLearn

OPEN SOURCE LIBRARIES


  • Keras
  • Chainer
  • CNTK
  • TensorFlow
  • Caffe
  • H2O
  • DeepLearning4J
  • theano
  • torch
  • Dsstne
  • Scikit-learn
  • AzureML
  • neon
  • MXNet
  • DMTK
  • Spark
  • PaddlePaddle
  • Weka
import json
all_companies = { 'enterprise intelligence': {
'visual' : [
'Orbital Insight',
'Planet Labs',
'clarifai',
'deep vision',
'cortica',
'algocian',
'space_know',
'captricity',
'netra',
'deepomatic' ],
'audio' : [
'Gridspace',
'TalkIQ',
'nexidia',
'Twilio',
'Capio',
'Expect labs',
'Clover',
'Mobvoi',
'Popup archive'
],
'sensor' : [
'Predix',
'C3IoT',
'Maana',
'Sentenai',
'Planet OS',
'Uptake',
'Imubit',
'Preferred Networks',
'thingworx',
'Konux',
'Alluvium'
],
'internal data' : [
'Primer',
'IBM Watson',
'Cycorp',
'Palantir',
'Armio',
'Alation',
'Sapho',
'Outlier',
'Digital Reasoning'
],
'Market' : [
'mattermark',
'Quid',
'Datafox',
'Premise',
'Bottlenose',
'CB Insights',
'Enigma',
'Tracxn',
'Predata'
]
}, # end enterprise intelligence
'enterprise functions' : {
'customer support' : [
'Digital Genius',
'Kasisto',
'Eloquent',
'Wise.io',
'ActionIQ',
'Zendisk',
'Preact',
'Clarabridge'
],
'sales' : [
'Collective i',
'6Sense',
'fuse machines',
'Aviso',
'Salesforce',
'InsideSales.com',
'Clari',
'Zensight'
],
'marketing' : [
'Mintigo',
'Lattice',
'Radius',
'Liftigniter',
'AIR PR',
'Motiva',
'BrightFunnel',
'msg.ai',
'Retention Science',
'Persado',
'Cognicor'
],
'security' : [
'Cylance',
'Darktrace',
'Zimperium',
'Deep Instinct',
'Sentinel',
'Demisto',
'Graphistry',
'Drawbridge',
'SignalSense',
'AppZen'
],
'recruiting' : [
'Textio',
'Entelo',
'Wade & Wendy',
'hiQ',
'Unitive',
'SpringRole',
'Gigster',
'HireVue'
]
}, # end enterprise functions
'autonomous systems' : {
'ground navigation' : [
'drive.ai',
'AdasWorks',
'zoox',
'Mobileye',
'Uber',
'Google',
'Tesla',
'nuTonomy',
'Auro Robotics'
],
'aerial' : [
'skydio',
'Shield AI',
'Airware',
'DJI',
'Lily',
'DroneDeploy',
'pilot.ai',
'Skycatch'
],
'industrial' : [
'Jaybridge',
'Osaro',
'Clearpath',
'Fetch Robotics',
'Kindred',
'Harvest Automation',
'Rethink Robotics'
]
},# end autonomous systems }
'agents' : {
'personal' : [
'amazon alexa',
'Cortana',
'Allo',
'Facebook',
'Siri',
'Replika'
],
'professional' : [
'butter.ai',
'pogo',
'Skipflag',
'clara',
'x.ai',
'slack',
'talla',
'Zoom.ai',
'sudo'
]
},
'industries' : {
'agriculture' : [
'Blue River',
'mavrx',
'tule',
'Trace Genomics',
'Pivot Bio',
'TerrAvion',
'Agri-Data',
'Descartes Labs',
'udio',
'Abundant Robotics'
],
'education' : [
'Knewton',
'Volley',
'gradescope',
'CTI',
'Coursera',
'Udacity',
'AltSchool'
],
'investment' : [
'Bloomberg',
'Sentient',
'iSentium',
'Kensho',
'AlphaSense',
'Dataminr',
'Cerebellum Capital',
'Quandl'
],
'legal' : [
'BlueJ',
'Beagle',
'Everlaw',
'Ravel',
'Seal',
'Ross',
'Legal Robot'
],
'logistics' : [
'Nauto',
'Acerta',
'Preteckt',
'Routific',
'ClearMetal',
'Marble',
'Pitstop '
],
'materials' : [
'Zymergen',
'Citrine',
'Eigen Innovations',
'Sight Machine',
'Ginkgo Bioworks',
'Nanotronics',
'Calculario'
],
'retail finance' : [
'Tala',
'Zest Finance',
'Lendo',
'Earnest',
'Affirm',
'Mirador',
'Wealthfront',
'Betterment'
]
},
'healthcare' : {
'patient' : [
'Pulse',
'CareSkore',
'Zephyr Health',
'IBM Watson Health',
'Oncora',
'Sentrian',
'Atomwise',
'Numerate'
],
'image' : [
'Butterfly',
'3Scan',
'Arterys',
'Enlitic',
'Bay Labs',
'imagia',
'Google DeepMind'
],
'biological' : [
'iCarbonX',
'color',
'Grail',
'Deep Genomics',
'Recursion',
'Luminist',
'Numerate',
'Atomwise',
'Verily',
'Whole Biome'
]
}
}
tech_stack = {
'agent enablers' : [
'Octane.AI',
'Howdy',
'Maluuba',
'KITT.AI',
'OpenAI Gym',
'Kasisto',
'Automnt',
'Semantic'],
'data science' : [ 'Domino',
'SparkBeyond',
'RapidMiner',
'Kaggle',
'DataRobot',
'Yhat',
'Ayasdi',
'Dataiku',
'Seldon',
'Yseop',
'BigML'
],
'machine learning' : [ 'CognitiveScale',
'GoogleML',
'Context Relevant',
'Cycorp',
'HyperScience',
'Nara Logics',
'minds.ai',
'H2O.ai',
'Scaled Inference',
'SparkCognition',
'Looop',
'Geometric Intelligence'
'DeepSense.io',
'Reactive',
'Skymind',
'Bonsai'
],
'natural language' : [ 'Agolo',
'Aylien',
'Lexalytics',
'Narrative Science',
'Loop AI Labs',
'spaCy',
'Luminoso',
'Cortical.io',
'MonkeyLearn'],
'development' : [ 'Sigopt',
'HyperOpt',
'Fuzzy.io',
'Kite',
'rainforest',
'lobe',
'Anodot',
'Signifai',
'Layer6 AI',
'bonsai'],
'data capture' : [ 'CrowdFlower',
'Diffbot',
'Crowd AI',
'import.io',
'Paxata',
'DataSift',
'Amazon Mechanical Turk',
'enigma',
'WorkFusion',
'Datalogue',
'Trifacta',
'parsehub'],
'open source libraries' : [ 'Keras',
'Chainer',
'CNTK',
'TensorFlow',
'Caffe',
'H2O',
'DeepLearning4J',
'theano',
'torch',
'Dsstne',
'Scikit-learn',
'AzureML',
'neon',
'MXNet',
'DMTK',
'Spark',
'PaddlePaddle',
'Weka'
],
'hardware' : [ 'Knupath',
'Tenstorrent',
'Cirrascale',
'nvidia',
'nervana',
'Movidius',
'tensilica',
'Google TPU',
'10^26 Labs',
'Qualcomm',
'Cerebras',
'Isosemi'],
'research' : [ 'OpenAI',
'nnaisense',
'Element AI',
'vicarious',
'Knoggin',
'Numenta',
'Kimera Systems',
'Cogitai']
}
alt_old_names = { 'planet labs' : 'cosmogia' }
# To test JSON formatting. Will throw exception if there's error
print( json.dumps(all_companies) )
print( json.dumps(tech_stack))
import tweepy
import csv
from urllib.parse import urlparse
from private import (consumer_key, consumer_secret, access_token, access_token_secret)
from ml_three_point_o import all_companies, tech_stack
from util import (levenshteinDistance,
get_search_result_URLs,
subcategory_words,
machine_intelligence_phrases
)
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
FIRST_NAMES = set(load_csv_names("First_Names.csv"))
LAST_NAMES = set(load_csv_names("Last_Names.csv"))
MIN_SCORE = 1
def follow_on_twitter( json, parent, include=None, exclude=None):
if isinstance( json, dict):
for key in json:
if ((include and key in include) and
((not exclude) or (exclude and key not in exclude)):
follow_on_twitter( json[key], key ) # pass in key as 'parent'.
elif isinstance( json, list ): # reached list of companies or technologies
for company_name in json:
# get a list of users using company name as keyword
results = api.search_users(q=company_name)
best_match = []
max_score = MIN_SCORE
# check each result's score
for user in results:
score = check_score( parent.lower(), company_name, user )
if score >= max_score:
max_score = score
best_match.append(user)
if best_match:
for user in best_match:
# api.create_friendship( user.id )
print("would have followed :", user.name )
else:
print("Found no match for : ", company_name)
def check_score( category, company_name, user ):
score = 0
if check_name( company_name, user ):
score += 1
elif is_persons_name( user ):
score -= 5 # A person's name is very likely not a match.
score += 1 if check_followers( user ) else 0
score += 1 if check_verified( user ) else 0
score += 1 if check_url( company_name, user ) else 0
subcat_words = subcategory_words[category] if category else []
score += 1 if check_desc( user, subcat_words + machine_intelligence_phrases ) else 0
return score
def is_persons_name( user ):
tokens = user.name.lower().split(' ')
if len(tokens) == 2: # could be standard 'firstname lastname' form
return True if tokens[0] in FIRST_NAMES and tokens[1] in LAST_NAMES else False
elif len(tokens) == 3:
if (tokens[0] in FIRST_NAMES or tokens[1] in FIRST_NAMES) and (tokens[2] in LAST_NAMES):
return True
elif (tokens[0] in FIRST_NAMES) and (tokens[1] in FIRST_NAMES or tokens[2] in LAST_NAMES):
return True
return False
def check_name( company_name, user ):
if levenshteinDistance( company_name.lower(), user.name.lower() ) < 2:
return True
if user.name.startswith( company_name ):
return True
return False
def check_followers( user ):
THRESHOLD = 50 # somewhat arbitrary
return user.followers_count > THRESHOLD
def check_verified( user ):
return user.verified or (user.verified == "True")
def check_url( company_name, user ):
google_results = get_search_result_URLs( company_name )
return urlparse(user.url).netloc in google_results
def check_desc( user, target_phrases ):
desc = user.description
return any(phrase in user.description.lower() for phrase in target_phrases)
def load_csv_names( pth ):
with open(pth, 'rt') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
for field in row:
yield field.lower()
if __name__ == "__main__":
#follow_on_twitter( all_companies, None )
import requests
import re
from bs4 import BeautifulSoup
from urllib.parse import urlparse
from ml_three_point_o import all_companies, tech_stack
def flat_list_print( json ):
if isinstance(json, list):
for elem in json:
print(elem)
elif isinstance(json, dict):
for key in json:
flat_list_print(json[key])
def hierachical_list_print( json, parent ):
if isinstance( json, list ):
for elem in json:
print(elem)
elif isinstance( json, dict ):
for key in json:
print(key.upper()) if not parent else print( ' - '.join(parent).upper() + ' - ' + key.upper())
print("------------------")
hierachical_list_print( json[key], parent + [key] )
def hierachical_list_print_markdown( json, parent ):
if isinstance( json, list ):
for elem in json:
print("* " + elem)
print()
elif isinstance( json, dict ):
for key in json:
if not parent:
print("### ", key.upper())
else:
print("#### " + ' - '.join(parent).upper() + ' - ' + key.upper())
print("------------------")
hierachical_list_print_markdown( json[key], parent + [key] )
def levenshteinDistance(s1, s2):
"""
Check the 'edit' distance between two words, s1 and s2.
Code from : http://stackoverflow.com/a/32558749
"""
if len(s1) > len(s2):
s1, s2 = s2, s1
distances = range(len(s1) + 1)
for i2, c2 in enumerate(s2):
distances_ = [i2+1]
for i1, c1 in enumerate(s1):
if c1 == c2:
distances_.append(distances[i1])
else:
distances_.append(1 + min((distances[i1], distances[i1 + 1], distances_[-1])))
distances = distances_
return distances[-1]
def get_search_result_URLs( company_name ):
google_base = "https://www.google.com.au/search?q="
page = requests.get(google_base + company_name)
soup = BeautifulSoup(page.content, "html.parser")
links = soup.find_all("a", href=re.compile("(?<=/url\?q=)(htt.*://.*)"))
cleaned_links = []
for link in links:
cleaned_links.extend(re.split(":(?=http)",link["href"].replace("/url?q=","")))
cleaned_links = [l for l in cleaned_links if "webcache" not in l]
base_links = [urlparse(url).netloc for url in cleaned_links]
return base_links
subcategory_words = {
'visual' : ['visual', 'image'],
'audio' : ['audio', 'sound'],
'sensor' : ['sensor', 'iot'],
'internal data' : ['analytics', 'internal', 'data'],
'market' : ['market'],
'customer support' : ['customer', 'support'],
'sales' : ['sales'],
'marketing' : ['marketing'],
'security' : ['security', 'protection', 'guard'],
'recruiting' : ['recruiting', 'target', 'hr', 'talent', 'human', 'resources'],
'ground navigation' : ['ground', 'navigation', 'truck', 'transport' ,'logistics'],
'aerial' : ['aerial', 'freight', 'plane'],
'industrial' : ['industrial'],
'personal' : ['personal', 'agents', 'assistant'],
'professional' : ['professional', 'agent', 'assitant'],
'agriculture' : ['agriculture', 'farming', 'crop'],
'education' : ['education', 'school', 'learning'],
'investment' : ['investment', 'growth', 'returns'],
'legal' : ['legal', 'law'],
'logistics' : ['logistics'],
'materials' : ['materials'],
'retail finance' : ['retail', 'finance', 'customer'],
'patient' : ['patient', 'healthcare', 'health'],
'image' : ['image', 'healthcare', 'diagnostics'],
'biological' : ['biological', 'healthcare']
}
machine_intelligence_phrases = [
'machine intelligence',
'machine learning',
'artificial intelligence',
'AI', 'A.I', 'A I',
'data science',
'intelligent',
'algorithms', 'algorithm'
]
if __name__ == '__main__':
#hierachical_list_print( tech_stack, [] )
hierachical_list_print_markdown(all_companies, [])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment