<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>CompeGe: Computing Company Competitor Pairs By Knowledge Based Inference Combined With Empirical Validation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Georg Gottlob</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jinsong Guo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aditya Jami</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Kröll</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stéphane Reissfelder</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lukas Schweizer</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Aichinger</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Sferrazza</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Oxford</institution>
          ,
          <addr-line>Oxford, OX1 3QD</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Meltwater</institution>
          ,
          <addr-line>San Francisco, California</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>207</fpage>
      <lpage>211</lpage>
      <abstract>
        <p>This paper is an interim report about an industrial application that uses Datalog combined with empirical methods to compute competitor information from a knowledge graph. The Owler knowledge graph is one of the world's largest companies information systems (CIS). It contains data about 16+ million companies crowd-sourced from over 1 million experts. In particular, for most companies, it contains a set of competitors. Such competitor information is very useful for many B2B applications such as lead generation. However, competitor relations in crowd-sourced CIS are naturally incomplete. This paper presents CompeGen, a method that applies Vadalog (a particular variant of Datalog) rules to infer new competitor pairs from existing ones in the Owler CIS. Since using the Vadalog inference program alone is insuficient, CompeGen combines its inference process with a “learning” process to acquire some required logical facts and further validates the inference results via an empirical validation process. CompeGen was tested using the companies belonging to the “Internet Software” sector in Owler. It has discovered 23,180 new competitors of which over 80% were correct. We are improving the system and will report further results in the full paper.</p>
      </abstract>
      <kwd-group>
        <kwd>Datalog applications</kwd>
        <kwd>Vadalog</kwd>
        <kwd>competitor computation</kwd>
        <kwd>knowledge-based inference</kwd>
        <kwd>empirical validation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>In today’s global competitive environment, competitor data constitutes information useful to
many business applications, such as Competitive Intelligence, Lead Generation, Recommender
Systems, and so on. For example, for lead generation, the competitors of a customer A of some
company C may be good sales leads for C, as they are likely to require the same products
or services as A. Competition-data sellers usually maintain a manually curated database or
knowledge graph containing competitor pairs as part of a companies information system (CIS)
that also maintains other useful information about companies such as the industry sectors in
which they operate. The Owler1 knowledge graph (a.k.a., the Owler competitive graph, see
the graph on the left of Fig. 1 as an example) is one of the world’s largest CIS. It contains data
about 16+ million companies crowd-sourced from over 1 million experts. However, competitor
relations in such crowd-sourced CIS are naturally rather incomplete. The main goal that we
target is to infer new competitor pairs from existing competitor pairs in the Owler CIS.
Datalog programs that perform inference based on knowledge about companies are naturally
suitable for inferring new competitor pairs from existing ones in a CIS. However, using a Datalog
program alone is not suficient because the required knowledge may be absent, and the inference
results are sometimes inaccurate. In this paper, we present CompeGen designed based on our
key idea:
Key Idea: Combine a knowledge-based inference process with an upstream
knowledgelearning process and a downstream validation process.</p>
      <p>
        CompeGen “learns” new knowledge from the existing knowledge in Owler, and then performs
an inference process based on both the learned and the existing knowledge about companies.
The inference results are further validated by an empirical validation process based on
cooccurrences of companies in documents of a document repository. The combination of ()
knowledge about companies [
        <xref ref-type="bibr" rid="ref1 ref10 ref2 ref3 ref4 ref5 ref6 ref7 ref8 ref9">1, 2, 3, 4, 5, 6, 7, 8, 9, 10</xref>
        ], and () co-occurrences of companies
in documents of a document repository [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref14 ref15">11, 12, 13, 14, 15</xref>
        ], distinguishes CompeGen from
conventional methods that leverage either one or the other of the two tools without combining
them. Fig. 1 illustrates the workflow of CompeGen, which will be detailed in the next two
sections.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Knowledge-based Inference</title>
      <p>
        The inference process of CompeGen uses several diferent types of knowledge (represented as
logical facts) about companies: () Competitor(A, B, ) which represents an existing competitor
pair in Owler that a company A has a competitor of B with a proximity score  ranging from 0
(extremely unlikely to compete) to 100000 (sure competitors); () CompSector(C1,S1) which
represents the fact that a company identified by the company ID C1 belongs to the industry
sector S1; () CompatSec(S1,S2,) which represents the fact that two sectors S1 and S2 are
compatible sectors with a sector compatibility score of . Two sectors, S and S’, are compatible if
there are more than a certain amount of competitor pairs in each of which one company belongs
to S and the other belongs to S’ (see Section 3). For example, in Figure 1, the sectors S1 and
S2 are compatible. Knowledge of types () and () comes directly from the Owler CIS while
the knowledge about sector compatibilities is learned from existing knowledge in the Owler
CIS, which is explained in the next section. Based on such knowledge, CompeGen computes
candidate competitor pairs via Vadalog, which is a particular variant of Datalog well-suited for
knowledge graphs [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]:
Cand(C1,C2,PScore):-Competitor(C1,C2,PScore).
      </p>
      <p>Cand(C1,C3,PScore):-Cand(C1,C2,PS12),Competitor(C2,C3,PS23),</p>
      <p>CompSector(C1,SEC1),CompSector(C3,SEC3),C1 != C3,
CompatSec(SEC1,SEC3,SeCoScore),Penalty(A), Cutoff(B),</p>
      <p>PScore=max((PS12+PS23-100000-A)*SeCoScore), PScore&gt;B.</p>
      <p>Each candidate competitor pair (C1,C3) computed by the above program is represented by the
fact Cand(C1,C3,PScore) where PScore is a plausibility score expressing a degree of plausibility
that company C3 is a competitor of company C1. The above Vadalog program computes a new
fact Cand(C1,C3,PScore), either if such a fact is already in the Competitor relation, or if there
is an already computed fact Cand(C1,C2,PS12) and a fact Competitor(C2,C3,PS23), where the
certain conditions are satisfied. These conditions require that C1 be diferent from C3, and that
the computed plausibility score PScore be larger than some cutof constant B (represented as
Cutof(B)), where PScore is the maximum value of (PS12 + PS23 − 100000− ) × 
(SeCoScore is the compatibility score of the sectors of C1 and of C3) over all matching choices of
C2, SEC1, and SEC3. A penalty constant  (represented as Penalty(A)), with 0 &lt;  &lt; 100000,
lowers the proximity scores of new candidate pairs generated by transitivity.</p>
    </sec>
    <sec id="sec-3">
      <title>3. System Overview</title>
      <p>The CompeGen approach can be intuitively explained via the main steps described below.
First, at Step I , a knowledge-learning process is performed to learn the knowledge about sector
compatibilities, i.e., sector compatibility scores, from the data in the Owler CIS. Let  be a sector
and 1, . . . ,  be all sectors such that there is at least one competitor pair from  and , i.e.,
there is one edge from  to  in the competitive graph, for 1 ≤  ≤ . For every such ,
 is defined to be the number of edges from  to . Let  = max1≤ ≤ (). Let  = 0.2
be some empirically decided cutof-constant. If  &lt;  this then means that  and  are not
compatible, and thus the compatibility weight  (, ) = 0. Otherwise,  (, ) is calculated
via an empirically determined function  (, ) = 1 − (1 −  ), where  = 3. A smaller ,
such as 1, may cause  (, ) to be lower than expected, especially when  is very large while
 is also large but much smaller than  . For example, when  = 20000 and  = 10000,
 (, ) = 0.5 if  = 1, while  (, ) = 0.875 if  = 3, and the latter is more reasonable.
The compatibility score  * (, ) is the maximum of the compatibility weights  (, ) and
 (, ).</p>
      <p>Next, at Step II , candidate competitor pairs, e.g., (A,C) in Fig. 1, are generated via the Vadalog
program described in Section 2.</p>
      <p>The next task (Step III ) is to validate each generated candidate competitor pair, e.g., (A,C),
against a document repository. The Web is used as the document repository in CompeGen.
A Competition Likelihood Score CLS(A,C) of A and C, ranges from 0 (not competitors) to 1
(competitors), is determined based on the co-occurrences of A and C in diferent Web pages.
CLS(A,C) is calculated based on a comparison of a number of search results for two groups of
queries to the document repository (Step III’ ): (i) a first group of queries, for co-occurrences of
names of A and of C together with names of some competitors A* of A (if any), such as D, or
some competitors C* of C (if any), such as E. (ii) a second group of queries, corresponding to the
ifrst queries, where either A or C is replaced by random companies R(A) or R(C) from the CIS
not known to be in a competitor relationship with A or C, such as H. Examples of web pages that
match these two groups of queries are in dashed boxes labeled Q1 and Q2 , respectively. From
the average number of search results of queries in query groups (i) and (ii), denoted by 1 and
2, respectively, a Query-result Diference Ratio (QDR) is calculated by 1/2 (Step III” ). Based
on the QDR, the likelihood score CLS(A,C) is calculated (Step III”’ ) according to a predefined
QDR-to-CLS lookup table, such as T1 , whereby a higher CLS is achieved if the QDR is larger.
The final part (Step IV ) computes for each candidate pair (A,C) a final proximity score via:
fs(, ) =  (,)+(,)× 105 . If (i) fs(, ) is larger than a given constant (e.g.,
2
90000), and (ii) (A,C) is not already stored in the Owler CIS with a score  ≥ fs(, ) then
(A,C) is inserted into the CIS with fs(, ).</p>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation</title>
      <p>CompeGen was tested using the companies belonging to the “Internet Software” sector in Owler.
CompeGen has discovered 23,180 new competitor pairs. We randomly sampled 200 of these new
competitor pairs and asked internal experts to validate these 200 pairs’ correctness. It turned
out that 162 pairs were correct, thus the precision of CompeGen is around 0.81. Since the total
number of missing competitor pairs in Owler was unknown, it was hard to evaluate the recall
of CompeGen. However, discovering 23,180 new competitor pairs with a precision of 0.81 for a
single sector has shown the potential to improve the Owler CIS using CompeGen. That has led
to Meltwater’s adoption of CompeGen in the completion task of Owler. We are making several
improvements to CompeGen, of which the results will be reported in the full paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Clark</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. B.</given-names>
            <surname>Montgomery</surname>
          </string-name>
          ,
          <article-title>Managerial identification of competitors</article-title>
          ,
          <source>Journal of Marketing</source>
          <volume>63</volume>
          (
          <year>1999</year>
          )
          <fpage>67</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Porac</surname>
          </string-name>
          , H. Thomas,
          <article-title>Taxonomic mental models in competitor definition</article-title>
          ,
          <source>Academy of management Review</source>
          <volume>15</volume>
          (
          <year>1990</year>
          )
          <fpage>224</fpage>
          -
          <lpage>240</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Lappas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Valkanas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gunopulos</surname>
          </string-name>
          ,
          <article-title>Eficient and domain-invariant competitor mining</article-title>
          ,
          <source>in: Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>408</fpage>
          -
          <lpage>416</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Valkanas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lappas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gunopulos</surname>
          </string-name>
          ,
          <article-title>Mining competitors from large unstructured datasets</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>29</volume>
          (
          <year>2017</year>
          )
          <fpage>1971</fpage>
          -
          <lpage>1984</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>N.</given-names>
            <surname>Joseph</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. S.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <article-title>Top-k competitor trust mining and customer behavior investigation using data mining technique</article-title>
          ,
          <source>Journal of Network Communications and Emerging Technologies (JNCET) 8</source>
          (
          <year>2018</year>
          )
          <fpage>26</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Pant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. R.</given-names>
            <surname>Sheng</surname>
          </string-name>
          ,
          <article-title>Web footprints of firms: Using online isomorphism for competitor identification</article-title>
          ,
          <source>Information Systems Research</source>
          <volume>26</volume>
          (
          <year>2015</year>
          )
          <fpage>188</fpage>
          -
          <lpage>209</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.-N.</given-names>
            <surname>Doan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. C. T.</given-names>
            <surname>Chua</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.-P.</given-names>
            <surname>Lim</surname>
          </string-name>
          ,
          <article-title>Mining business competitiveness from user visitation data</article-title>
          , in: International Conference on Social Computing,
          <string-name>
            <surname>Behavioral-Cultural Modeling</surname>
          </string-name>
          , and Prediction, Springer,
          <year>2015</year>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>289</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N.</given-names>
            <surname>Raman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Bang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nematzadeh</surname>
          </string-name>
          ,
          <article-title>Multigraph attention network for analyzing company relations</article-title>
          ,
          <source>in: Proceedings of the 2019 8th International Conference on Computing and Pattern Recognition</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>426</fpage>
          -
          <lpage>433</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.-P.</given-names>
            <surname>Chen</surname>
          </string-name>
          , T.-L. Hsu, W.-K. Chung,
          <string-name>
            <given-names>S.-C.</given-names>
            <surname>Dai</surname>
          </string-name>
          , L.-W. Ku,
          <article-title>Upstream, downstream or competitor? detecting company relations for commercial activities</article-title>
          , in: International Conference on Human-Computer Interaction, Springer,
          <year>2019</year>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>52</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>W.</given-names>
            <surname>Qin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Luo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Implicit business competitor inference using heterogeneous knowledge graph</article-title>
          ,
          <source>in: 2021 IEEE International Conference on Big Knowledge (ICBK)</source>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>198</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <surname>Cominer:</surname>
          </string-name>
          <article-title>An efective algorithm for mining competitors from the web</article-title>
          ,
          <source>in: Sixth International Conference on Data Mining (ICDM'06)</source>
          , IEEE,
          <year>2006</year>
          , pp.
          <fpage>948</fpage>
          -
          <lpage>952</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Web scale competitor discovery using mutual information</article-title>
          ,
          <source>in: International Conference on Advanced Data Mining and Applications</source>
          , Springer,
          <year>2006</year>
          , pp.
          <fpage>798</fpage>
          -
          <lpage>808</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <article-title>Competitor mining with the web</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>20</volume>
          (
          <year>2008</year>
          )
          <fpage>1297</fpage>
          -
          <lpage>1310</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Cilibrasi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Vitanyi</surname>
          </string-name>
          ,
          <article-title>The google similarity distance</article-title>
          ,
          <source>IEEE Transactions on knowledge and data engineering 19</source>
          (
          <year>2007</year>
          )
          <fpage>370</fpage>
          -
          <lpage>383</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Damani</surname>
          </string-name>
          ,
          <article-title>Improving pointwise mutual information (pmi) by incorporating significant co-occurrence</article-title>
          ,
          <source>arXiv preprint arXiv:1307.0596</source>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          , E. Sallinger,
          <string-name>
            <surname>G. Gottlob,</surname>
          </string-name>
          <article-title>The vadalog system: datalog-based reasoning for knowledge graphs</article-title>
          ,
          <source>Proceedings of the VLDB Endowment</source>
          <volume>11</volume>
          (
          <year>2018</year>
          )
          <fpage>975</fpage>
          -
          <lpage>987</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>