<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _process_intersection(self, yes_work, maybe_work, work_dir, ym_results_path, stats):
 """Returns statistics on the intersection between `yes_work` and `maybe_work`. :param yes_work: name of work for which stats are collected :type yes_work: `str` :param maybe_work: name of work being compared with `yes_work` :type maybe_work: `str` :param work_dir: directory where generated files are saved :type work_dir: `str` :param ym_results_path: path to results intersecting `yes_work` with `maybe_work` :type ym_results_path: `str` :param stats: data structure to hold the statistical data :type stats: `dict` :rtype: `dict` """

        catalogue = {yes_work: self._no_label, maybe_work: self._maybe_label}
        self._run_query(ym_results_path, self._store.intersection, [catalogue],
                        False)
        # Though this is the intersection only between "yes" and
        # "maybe", the percentage of overlap is added to the "common"
        # stat rather than "shared". Then, in _process_diff, the
        # percentage of difference between "yes" and "no" can be
        # removed from "common" and added to "shared".
        return self._update_stats('intersect', work_dir, ym_results_path,
                                  yes_work, maybe_work, stats, COMMON, UNIQUE)