companies: Aufrufe als Veröffentlichungsnachweis im Altbestand werten
Das Altsystem hat 2009–2018 rund 126 000 Meldungen auf `rejected` gesetzt, 83 000 davon mit Aufrufen — die waren online und sind pauschal offline genommen worden. Wer nur `status = published` zählt, stellt pr4you, Blödorn und Crossover Point mit Hunderten Meldungen neben yahoo@yahoo.com. Eine Firma gilt jetzt als veröffentlicht, wenn sie eine Meldung mit `published` ODER `hits > 0` hat. Nie veröffentlicht: 23 → 7 Adressen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8a1e79aebb
commit
77318dcb79
3 changed files with 93 additions and 3 deletions
|
|
@ -40,7 +40,8 @@ class CompanyAddressClassifier
|
|||
* `pr@deutsche-stadtauskunft.ag` trägt 133 Namen und hat trotzdem 134
|
||||
* Firmen mit veröffentlichten Meldungen. Das trennscharfe Signal ist die
|
||||
* Veröffentlichung: Hinter einer Platzhalter- oder Wegwerfadresse ist nie
|
||||
* etwas erschienen, hinter einer Agentur laufend.
|
||||
* etwas erschienen, hinter einer Agentur laufend — auch wenn das Jahre her
|
||||
* ist und die Meldungen heute offline sind (siehe `classifyAll()`).
|
||||
*/
|
||||
private const JunkPublishedRatio = 0.05;
|
||||
|
||||
|
|
@ -84,14 +85,24 @@ class CompanyAddressClassifier
|
|||
*/
|
||||
public function classifyAll(int $collectionThreshold): array
|
||||
{
|
||||
// Einmal alle Firmen mit mindestens einer veröffentlichten Meldung,
|
||||
// Einmal alle Firmen, die JEMALS eine Meldung veröffentlicht haben,
|
||||
// statt je Firma eine korrelierte Unterabfrage: Das läuft über den
|
||||
// gesamten Bestand, und das ist eine Abfrage gegen hunderttausend.
|
||||
//
|
||||
// „Jemals" heißt: heute `published` ODER Aufrufe gezählt. Der Status
|
||||
// allein trügt beim Altbestand — das Altsystem hat 2009–2018 rund
|
||||
// 126 000 Meldungen auf `rejected` gesetzt, 83 000 davon mit Aufrufen.
|
||||
// Eine abgelehnte Meldung wird nie aufgerufen; die waren online und
|
||||
// sind später pauschal offline genommen worden. Ohne die Aufrufe
|
||||
// stünden pr4you, Blödorn oder Crossover Point mit Hunderten Meldungen
|
||||
// aus 2006–2011 als „nie veröffentlicht" neben `yahoo@yahoo.com`.
|
||||
$withPublication = array_flip(
|
||||
PressRelease::query()
|
||||
->withoutGlobalScope(PortalScope::class)
|
||||
->where('status', 'published')
|
||||
->whereNotNull('company_id')
|
||||
->where(function ($query): void {
|
||||
$query->where('status', 'published')->orWhere('hits', '>', 0);
|
||||
})
|
||||
->distinct()
|
||||
->pluck('company_id')
|
||||
->all()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue