Есть ли способ конвертировать наборы функций nltk в массив scipy.sparse? - PullRequest
1 голос
/ 06 декабря 2011

Я пытаюсь использовать scikit.learn, которому для ввода нужны массивы numpy / scipy.Набор функций, сгенерированный в nltk, состоит из униграмм и биграмм частот.Я мог бы сделать это вручную, но это будет много усилий.Так интересно, есть ли решение, которое я пропустил.

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Джейкоб Перкинс сделал мост для обучения классификаторов NLTK с использованием классификаторов scikit-learn, который делает именно это, вот источник:

https://github.com/japerk/nltk-trainer/blob/master/nltk_trainer/classification/sci.py

Строки импорта пакетов должны быть обновлены, если вы используете версию 0.9 +.

0 голосов
/ 06 декабря 2011

Не то, что я знаю, но учтите, что scikit-learn может выполнять подсчет частоты n -грамм.Предполагая уровень слова n -грамм:

from sklearn.feature_extraction.text import CountVectorizer, WordNGramAnalyzer
v = CountVectorizer(analyzer=WordNGramAnalyzer(min_n=1, max_n=2))
X = v.fit_transform(files)

, где files - это список строк или файловых объектов.После этого X является матрицей scipy.sparse необработанных частот.

...