Как найти биграммы и триграммы персонажей? - PullRequest
0 голосов
/ 24 апреля 2018

Проблема:

Поиск биграмм, триграмм и bigram_score для domain_name. У меня есть набор данных, и я хочу разграничить их, являются ли они доменами dga или не используют какую-то простую классификацию. Поэтому я хотел начать с биграмм, триграмм и энтропии.

Что я пробовал:

from nltk import ngrams
sentence = 'some big sentence'
n = 2
sixgrams = ngrams(sentence.split(), n)
for grams in sixgrams:
print grams

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

я хочу конвертировать

Пример домена: google.co.in

bigrams

[‘$g’, ‘go’, ‘oo’, ‘og’, ‘gl’, ‘le’, ‘e$’, ‘$c’, ‘co’, ‘o$’, ‘$i’, ‘in’, ‘n$’]
trigrams

[‘$go’, ‘goo’, ‘oog’, ‘ogl’, ‘gle’, ‘le$’, ‘$co’, ‘co$’, ‘$in’, ‘in$’]

, а затем вычислите bigrams_score. Из которого я могу использовать его для прогнозирования модуля и анализа.

Может кто-нибудь помочь мне понять, как решить проблему?

1 Ответ

0 голосов
/ 25 апреля 2018
>>> from nltk import word_tokenize, ngrams
>>> s = "foo bar sentence"

# Word ngrams.
>>> list(ngrams(word_tokenize(s), 2))
[('foo', 'bar'), ('bar', 'sentence')]

# Character ngrams.
>>> list(ngrams(s, 2))
[('f', 'o'), ('o', 'o'), ('o', ' '), (' ', 'b'), ('b', 'a'), ('a', 'r'), ('r', ' '), (' ', 's'), ('s', 'e'), ('e', 'n'), ('n', 't'), ('t', 'e'), ('e', 'n'), ('n', 'c'), ('c', 'e')]
...