Skip to main content

How ALLMO Identifies Company Entities

ALLMO has a market-leading 7-stage matching process to ensure every mention is attributed to the right company.

Written by Niclas Aunin
Updated yesterday

When an AI model writes "Apple", "Apple Inc.", or "apple.com" in a response, ALLMO has to decide that all three refer to the same company, and that they do not refer to the fruit. Entity identification is the layer that turns raw text mentions into structured data you can analyse.

This article explains how the matching pipeline works, why it is designed the way it is, and how you can improve accuracy with custom aliases.

The problem: same company, many forms

A single company can appear in AI responses under many names, and brand references can be ambiguous in both directions:

  • Full legal name vs. common short name ("OpenAI, Inc." vs. "OpenAI")

  • Company name vs. product name ("OpenAI" the company vs. "ChatGPT" the product)

  • Ambiguous words that can be a brand or something else entirely ("Apple" the company vs. "apple" the fruit; "Shell" the oil company vs. a seashell)

  • Localized spellings and accents ("München" vs. "Munchen", "Nestlé" vs. "Nestle")

  • URL references vs. brand mentions (apple.com vs. "Apple")

  • Sub-brands that imply the parent company ("Instagram" implies Meta, "YouTube" implies Google/Alphabet)

  • Abbreviations that have multiple meanings across industries ("GM" as General Motors vs. "GM" as General Manager or Genetically Modified)

Most prompt monitoring tools rely on simple text based matching, where you

Counting each variation separately would fragment your data. Over-merging variations would incorrectly combine different companies. ALLMO uses a staged matching pipeline to balance both risks.

Most prompt monitoring tools rely on simple text based matching, where you have to define competitors beforehands, which means a lot of manual setup effort, and you may miss competitors that you are not aware off.

How automatic entity matching works

ALLMO uses a multi step matching system to accurately connect mentions in AI responses to the correct companies.

We combine normalization, your custom brand variations, a large internal entity database, and AI assisted enrichment to ensure high precision and strong coverage.

The system always prioritizes the most reliable signals first and only falls back to more advanced methods when needed.

This approach ensures:

  • High accuracy for known brands

  • Strong coverage for new or niche companies

  • Minimal false positives

In short, every mention is matched using the best available signal so you can trust the results without needing to configure anything manually.

Custom aliases: your manual override

You can improve matching accuracy for your own report using custom aliases.


How to add a custom alias

Open any company in your report and add a custom alias. The matching is text-based and deterministic, meaning the alias string is matched directly in response text after normalization.

How custom aliases behave

  • Report-scoped: custom aliases only apply to the report where you add them. They do not affect other reports or the shared entity graph.

  • Case-insensitive and normalized: matching uses the same normalization rules as the rest of the pipeline.

  • Checked first: custom aliases run before the deterministic, domain, and alias-match stages. They can recover mentions that would otherwise be missed or miscategorized.

  • Forward-applying: alias changes apply to newly processed responses. They do not retroactively update already-processed rows unless those rows are reprocessed.

When to add a custom alias

  • A product or sub-brand that is mentioned without the parent brand name (e.g. "ChatGPT" should attribute to OpenAI, or "Instagram" should attribute to Meta)

  • Common misspellings your customers or AI models use

  • Abbreviations or acronyms that are ambiguous in the general entity graph but unambiguous in your industry

  • Localized names that are not yet in the shared database

When not to add a custom alias

  • For generic words or terms that could match many companies (this creates false positives)

  • For your competitor's brand (you should monitor competitors using their own entities, not by aliasing them into yours)

  • For short abbreviations, that appear naturally in texts or words (e.g. adding "Cloud" as a custom alias for Google Cloud will generate a lot of false positives; so will "AT" for Allianz Trade)

Why this architecture

The staged pipeline balances three goals:

  • Accuracy: domain and exact-match paths run first to avoid false merges.

  • Coverage: AI enrichment and new-entity creation ensure no mention is lost.

  • Control: report-scoped custom aliases give you a direct override when the automated pipeline gets it wrong.

The result is a system where most mentions are matched deterministically in milliseconds, ambiguous mentions are resolved with AI support, and you keep full control over edge cases specific to your brand.

Troubleshooting

  • A competitor's mentions are incorrectly attributed to your brand: remove the overlapping alias from your report. If the issue is in the shared entity graph, contact support.

  • A new sub-brand is not being captured: add it as a custom alias. If the sub-brand deserves its own entity, request a split through support.

  • Mentions of your brand are split across two entities: Contact us and we'll merge the two entities, so that you get a clean view.

  • Detected an error in the system alias? Even our algorithm can make mistakes. Please send us an email with the company name, and a link or screenshot to the page, and explain what should be corrected. We appreciate your feedback!

Did this answer your question?