  Social networks are often modeled using signed graphs, where vertices
correspond to users and edges have a sign that indicates whether an interaction
between users was positive or negative. The arising signed graphs typically
contain a clear community structure in the sense that the graph can be
partitioned into a small number of polarized communities, each defining a
sparse cut and indivisible into smaller polarized sub-communities. We provide a
local clustering oracle for signed graphs with such a clear community
structure, that can answer membership queries, i.e., "Given a vertex $v$, which
community does $v$ belong to?", in sublinear time by reading only a small
portion of the graph. Formally, when the graph has bounded maximum degree and
the number of communities is at most $O(\log n)$, then with
$\tilde{O}(\sqrt{n}\operatorname{poly}(1/\varepsilon))$ preprocessing time, our
oracle can answer each membership query in
$\tilde{O}(\sqrt{n}\operatorname{poly}(1/\varepsilon))$ time, and it correctly
classifies a $(1-\varepsilon)$-fraction of vertices w.r.t. a set of hidden
planted ground-truth communities. Our oracle is desirable in applications where
the clustering information is needed for only a small number of vertices.
Previously, such local clustering oracles were only known for unsigned graphs;
our generalization to signed graphs requires a number of new ideas and gives a
novel spectral analysis of the behavior of random walks with signs. We evaluate
our algorithm for constructing such an oracle and answering membership queries
on both synthetic and real-world datasets, validating its performance in
practice.
