Domanda

Per un progetto di ricerca di applicazioni enterprise me e un'altra persona sta lavorando, stiamo cercando di rimuovere determinati contenuti dalla pagina per mantenere i messaggi postati universali (cioè non offensivo e sostanzialmente anonima). In questo momento vogliamo portare un messaggio che un utente ha postato ad un message board, e rimuovere qualsiasi tipo di nome, il nome di un collegio o istituto, e parolacce (e se poi possibile, vorremmo rimuovere i nomi commerciali).

C'è qualche database che siamo in grado di connettersi a che siamo in grado di eseguire fregare i nostri messaggi con per controllare contro i valori nel database al fine di riconoscere questi?

È stato utile?

Soluzione

La domanda sembra implicare un database online che sarebbe stato interrogato durante l'elaborazione dei messaggi. questioni operative (affidabilità di tali servizi, in ritardo nel tempo di risposta, ecc) così come problema completezza (necessità di interrogare più database perché nessun singolo coprirà il 100% del fabbisogno lessicali del progetto) rendono questa linea / approccio in tempo reale impraticabile. Ci sono tuttavia molte basi di dati disponibili per il download e che permetterebbe di costruire il proprio database locale di "parole calde".

Un buon punto di partenza potrebbe essere WordNet , erano probabilmente vi piacerebbe utilizzo di tutta la " istanza " parole come parole che dovrebbero normalmente avere bisogno di essere rimosso dai messaggi, come rende anonimi / purificali. (Forse si potrà anche mantenere i " non dell'istanza " parole in un separato tavolo / lista di parole "più probabile che sia ok"). La lista da solo potrebbe probabilmente sostenere con onore e una versione "0.9" della vostra applicazione.

Potrai eventualmente desidera estendere questa banca dati lessicale delle "parolacce", tuttavia, ad esempio per includere tutte le università acronimi (CMU, UCSD, DU, MIT, UNC e simili), Squadre sportive nomi (Celtics, Bruins, Bruins, Red Sox ...) e in base al dominio dei vostri messaggi, ulteriori nomi di personaggi pubblici (Wordnet ha diversi, come George Bush o Robert De Niro, ma manca meno famosi persone o persone che è venuto di fama più recentemente: ad esempio, Barack Obama)

Per completare Wordnet, due tipi distinti di fonti vengono in mente:

  • database tradizionali on-line
  • ontologie e folksonomies

Esempi del primo sono dire "Le città / Stato per CAP" al USPS. Esempi di questi ultimi sono varie "liste" redatto da studiosi, organizzazioni o individui diversi. E 'impossibile fornire un elenco esaustivo di uno di questi tipi di sorgente, ma il seguente dovrebbe aiutare:

  • DAML.ORG catalogo di ontologie
  • Regioni degli Stati Uniti e America esempio di un formato DAML un'ontologia
  • Open Directory Project directory Open Source (attenzione, diventa rapidamente disordinato)
  • SourceWatch.org esempio di una " elenco delle liste: gente in giornalismo / politica "
  • Seach parole chiave del motore:. " elenco delle liste ", o anche utilizzare tre o quattro delle parole che ci si aspetta di trovare nella lista che cercate

Nei casi più semplici, si può semplicemente scaricare gli elenchi e simili, o anche, "taglia-e-incolla". Le ontologie saranno "gravati" con gli attributi aggiuntivi che avrete bisogno di analizzare fuori (in futuro si può effettivamente desiderare questi attributi e utilizzare le ontologie in un modo più tradizionale, per ora, afferrando le entità lessicali è tutto quello che serve ).

Questo database compito raccolta lessicale può sembrare scoraggiante. Ma la 80-20 regola , afferma che il 20% delle "parole a caldo" rappresenteranno il 80% delle citazioni nei messaggi, e quindi con un relativamente piccolo sforzo, si dovrebbe essere in grado di produrre un sistema che copre il 90% + dei vostri casi d'uso.

Guardando al futuro: Al di là delle "parole calde" del database
Ci sono molti modi di affrontare questo compito, utilizzando varie tecniche e concetti da Natural Language Processing (NLP). Come il progetto guadagna in raffinatezza, si consiglia di conoscere alcuni di questi concetti ed eventualmente implementare. Per esempio un semplice tagger POS viene in mente, in quanto può aiutare [in parte] discriminare tra dicono vario uso della aken "VITE", come l'applicazione scarta parole offensive. ( "Il consiglio di amministrazione vuole vite gli studenti" vs "Il consiglio di amministrazione dovrebbe essere fissato con un minimo di 4 viti per cantiere".

Prima ancora che necessitano di queste tecniche formali di PNL, è possibile utilizzare un paio di Regole di pattern-based per gestire i casi più comuni associati al dominio (s) rispetto al tipo di messaggi oggetto dell'intervento. Ad esempio, si può considerare quanto segue:
  - (parola)
State University   - Il senatore (lettera Word_Starting_with_Capital)
  - Le parole che mescolano lettere e numeri (questi sono spesso utilizzati per errori ortografici nomi e aggirare il tipo di filtri vostri progetti intende attuare)

Un altro strumento che può essere utile, in particolare in principio sarà un sistema che raccoglie informazioni statistiche sul corpus messaggio:. Frequenza delle parole, parole più comuni, bigrammi più comuni (due parole consecutive) etc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top