class_docstr: A simple server to load the w2v model and handle expand requests from the
  ui
code: def handle(self):
      logger.info("handling expand request")
      res = ""
      self.data = pickle.loads(self.request.recv(10240))
      logger.info("request data: %s", self.data)
      req = self.data[0]
      if req == "get_vocab":
          logger.info("getting vocabulary")
          res = se.get_vocab()
      elif req == "in_vocab":
          term = self.data[1]
          res = se.in_vocab(term)
      elif req == "get_group":
          term = self.data[1]
          res = se.get_group(term)
      elif req == "annotate":
          seed = self.data[1]
          text = self.data[2]
          res = self.annotate(text, seed)
          logger.info("res:%s", str(res))
      elif req == "expand":
          logger.info("expanding")
          data = [x.strip() for x in self.data[1].split(",")]
          res = se.expand(data)
      logger.info("compressing response")
      packet = pickle.dumps(res)
      logger.info("response length= %s", str(len(packet)))
      logger.info("sending response")
      self.request.sendall(packet)
      logger.info("done")
  
file_path: nlp-architect/solutions/set_expansion/expand_server.py
imports: import socketserver
  import argparse
  import pickle
  import logging
  import re
  from nlp_architect.utils.io import validate_existing_filepath, check_size
  from prepare_data import extract_noun_phrases, load_parser
  from set_expand import SetExpand
label_desc: Use image node_id 1 for calling the MyTCPHandler obj's underlying member method code with example usage: obj.handle() without return types