2016-09-21 2 views
1

3 밀리 초의 초록이 있는데 그 중 4 그램을 추출하고 싶습니다. 나는이 4-gram의 주파수를 찾아야하므로 언어 ​​모델을 만들고 싶습니다.N 그램 - 메모리에 없음

제 문제는 이러한 4-gram을 모두 메모리에서 추출 할 수 없다는 것입니다. 이 4-gram의 모든 주파수를 추정 할 수있는 시스템을 어떻게 구현할 수 있습니까?

+0

당신은 hdf5 또는 pytables를 보았습니다. 내가 numpy에 잘 연결되어 있고, 빠르게 진행되고 있다는 것을 알고있는 한, pytables를 보았습니까? – Magellan88

+0

의견을 보내 주셔서 감사합니다. 나는 그들을 검사 할 것이다 –

+0

대부분의 4-gram은 단지 한 번 나타난다. 그래서 아마도 두 번 이상 나타나는 정보를 찾아서 필요한 정보를 얻을 수있을 것이다. 중요한 관찰은 4-gram이 두 번 이상 나타나는 trigram을 확장하면 두 번 이상 나타납니다. 두 번 이상 나타나는 bigram을 확장하면 trigram이 두 번 이상 나타납니다. 당신은 단계적으로 일을 할 수 있습니다. 먼저 그러한 bigrams (가능성) 가능성을 발견하고 trigrams 다음 마침내 4-gram을 찾으십시오. 이 질문에 대한 내 대답은 트라이 그램에 대한이 아이디어를 보여줍니다. http://stackoverflow.com/a/36935796/4996248 –

답변

0

중간 주파수를 메모리가 아닌 디스크에 저장해야하는 것처럼 들립니다. 다행스럽게도 대부분의 데이터베이스에서이 작업을 수행 할 수 있으며 파이썬은 대부분의 데이터베이스와 통신 할 수 있습니다.

+0

나는 이미 내 마음 속에 이것을 가지고있다. 그러나 나는 얼마나 효율적인지 모른다. 나는 첫 번째 단어별로 정렬 된 파일을 100000 개씩 작성하려고 생각했습니다. 그런 다음 병합 정렬을 구현하여 고유 한 파일을 만들고이 4gram을 모두 정렬했습니다. –

관련 문제