Нейронные сети для почтового обнаружения спама

В вашем HTML

 <ion-searchbar type="text" debounce="500" (ionInput)="getItems($event)"></ion-searchbar>
<ion-list *ngIf="isItemAvailable">
  <ion-item *ngFor="let item of items">
    {{ item }}
  </ion-item>
</ion-list>

в вашем файле

this.isItemAvailable = false; // initialize the items with false

initializeItems(){ 
    this.items = ["Ram","gopi", "dravid"]; 
}

getItems(ev: any) {
    // Reset items back to all of the items
    this.initializeItems();

    // set val to the value of the searchbar
    const val = ev.target.value;

    // if the value is an empty string don't filter the items
    if (val && val.trim() != '') {
      this.isItemAvailable = true;
      this.items = this.items.filter((item) => {
        return (item.toLowerCase().indexOf(val.toLowerCase()) > -1);
      })
    }
  }
18
задан Gyan Veda 1 May 2015 в 21:42
поделиться

4 ответа

Если вы настаиваете на NN ... Я бы рассчитал некоторые функции для каждого электронного письма

И символьные, и текстовые, и словарные функции (примерно 97, как я их считаю):

  1. Общее количество символов (C)
  2. Общее количество символов в алфавите / C Соотношение символов в алфавите
  3. Общее количество символов в цифрах / C
  4. Общее количество символов в пробелах / C
  5. Частота каждого буква / C (36 букв клавиатуры - AZ, 0-9)
  6. Частота специальных символов (10 символов: *, _, +, =,%, $, @, ـ, \, /)
  7. Общее количество слов (M)
  8. Общее количество коротких слов / M Две буквы или менее
  9. Общее количество символов в словах / C
  10. Средняя длина слова
  11. Ср. длина предложения в символах
  12. Ср. длина предложения в словах
  13. Длина слова freq. распределение / M Соотношение слов длиной n, n между 1 и 15
  14. Тип Коэффициент токена Количество уникальных слов / M
  15. Hapax Legomena Freq. когда-то встречающихся слов
  16. Hapax Dislegomena Freq. дважды встречающихся слов
  17. мера К Юла
  18. мера Симпсона
  19. мера Сихеля
  20. мера Брюнетта
  21. мера Хонорэ
  22. частота пунктуации 18 знаков пунктуации:. ،; ? ! : () - «« »<> [] {}

Вы также можете добавить некоторые дополнительные функции, основанные на форматировании: цвета, шрифты, размеры, ... используется.

Большинство из этих мер можно найти в Интернете в документах или даже в Википедии (все они простые вычисления, вероятно, основанные на других функциях).

Итак, для примерно 100 объектов вам нужно 100 входов, некоторое количество узлов в скрытом слое и один выходной узел

Входные данные должны быть нормализованы в соответствии с вашим текущим предварительно классифицированным корпусом.

Я бы разделил его на две группы, используя одну в качестве учебной группы, а другой как группа тестирования, никогда не смешивая их. Может быть, при соотношении 50/50 в группах «поезд / тест» с аналогичными показателями «спам / не спам».

24
ответ дан 30 November 2019 в 07:28
поделиться

Вы настроены делать это с нейронной сетью? Похоже, вы настроены довольно хорошо, чтобы использовать байесовскую классификацию , которая хорошо описана в нескольких очерках Пола Грэма:

Засекреченная история, к которой у вас есть доступ, создаст очень сильные тела для подачи по байесовскому алгоритму, и вы, вероятно, получите довольно эффективный результат.

8
ответ дан 30 November 2019 в 07:28
поделиться
  1. You'll basically have an entire problem, of similar scope to designing and training the neural net, of feature extraction. Where I would start, if I were you, is in slicing and dicing the input text in a large number of ways, each one being a potential feature input along the lines of "this neuron signals 1.0 if 'price' and 'viagra' occur within 3 words of each other", and culling those according to best absolute correlation with spam identification.
  2. I'd start by taking my best 50 to 200 input feature neurons and hooking them up to a single output neuron (values trained for 1.0 = spam, -1.0 = not spam), i.e. a single-layer perceptron. I might try a multi-layer backpropagation net if that worked poorly, but wouldn't be holding my breath for great results.

Generally, my experience has led me to believe that neural networks will show mediocre performance at best in this task, and I'd definitely recommend something Bayesian as Chad Birch suggests, if this is something other than a toy problem for exploring neural nets.

2
ответ дан 30 November 2019 в 07:28
поделиться

Чад, ответы, которые вы получили до сих пор, являются разумными, но я отвечу на ваше обновление так:

Я настроен на использование нейронных сетей в качестве основного аспекта Проект состоит в том, чтобы проверить, как NN-подход будет работать для обнаружения спама.

Ну, тогда у вас есть проблема: подобный эмпирический тест не может доказать непригодность.

Возможно, вам лучше узнать немного о что NN на самом деле делает и не делает, чтобы понять, почему они не особенно хорошая идея для такого рода проблем классификации. Вероятно, полезный способ думать о них как об универсальных аппроксиматорах функций. Но для некоторой идеи о том, как все это сочетается в области классификации (именно в этом и заключается проблема фильтрации спама), может быть полезен просмотр вступительного текста, такого как классификация шаблонов .

Если вы не можете увидеть, как он работает, просто используйте любую общую библиотеку NN для самой сети. Большая часть вашей проблемы будет в том, как представлять входные данные в любом случае. «Лучшая» структура неочевидна, и, вероятно, это не так уж важно. Входные данные должны быть рядом (нормализованных) измерений (характеристик) самого корпуса. Некоторые из них очевидны (количество слов «спам» и т. Д.), А некоторые - гораздо менее. Это та часть, с которой вы действительно можете играть, но вы должны ожидать, что она будет работать плохо по сравнению с байесовскими фильтрами (у которых здесь есть свои проблемы) из-за характера проблемы.

и это, вероятно, не так важно. Входные данные должны быть рядом (нормализованных) измерений (характеристик) самого корпуса. Некоторые из них очевидны (количество слов «спам» и т. Д.), А некоторые - гораздо менее. Это та часть, с которой вы действительно можете играть, но вы должны ожидать, что она будет работать плохо по сравнению с байесовскими фильтрами (у которых здесь есть свои проблемы) из-за характера проблемы.

и это, вероятно, не так важно. Входные данные должны быть рядом (нормализованных) измерений (характеристик) самого корпуса. Некоторые из них очевидны (количество слов «спам» и т. Д.), А некоторые - гораздо менее. Это та часть, с которой вы действительно можете играть, но вы должны ожидать, что она будет работать плохо по сравнению с байесовскими фильтрами (у которых здесь есть свои проблемы) из-за характера проблемы.

2
ответ дан 30 November 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: