2013-02-13 4 views
0

Google에서 공개적으로 사용할 수있는 ngram 데이터에서 파생 된 가장 자주 사용되는 단어 목록을 가지고 있습니다.가능한 가장 고유 한 단어를 사용하여 효율적인 조합을 찾기 위해 자주 사용되는 단어 목록을 어떻게 분류합니까?

나는이 :

6800 자주 2g을 4800 자주 3g 2500 자주 4g 1100 자주 5g

예를 들어 같은 것 2 N- 그램 :

"개" 의 "를 책 " "3 인용 의자 " 등

예 5 ngram woul 뭔가를 할 거라고 : 는 "한 번이 옛적에" "거기 옛적에" 는

나는 또한 2000 개 자주 단어 목록을 등 "그것은 어둡고했다".

1) 다양한 목록에서 가장 적은 수의 ngram 중 어느 조합이 빈번 단어 목록의 단어 수가 가장 많은지 찾아야합니다.

예를 들어 빈번한 단어 1800 개를 사용한 200 개의 2 그램, 40 개의 3 그램, 50 개의 4 그램 및 20 개의 5 그램을 발견하면 성공할 수 있습니다. 나는 그 비율을 높이었지만, 대부분의 단어를 사용하는 500 가지 이하의 조합을 찾고 싶습니다.

2) 또한 목록에서 가장 많은 총 단어가 포함 된 다양한 ngram의 조합 중에서 가장 작은 수의 조합을 찾고 싶습니다.

예를 들어 2000 개의 다른 단어를 사용하는 500 ngram을 찾을 수 있다면 좋을 것입니다.

내가 겪고있는 문제는이 작업을 어떻게 수행 할 것인지 잘 모르겠다는 것입니다. 나는 hadoop과 mapreduce가 올바른 방향이라고 생각합니다. 그러나 어떤 도움도 감사 할 것입니다!

+0

@ 제레미, CS에서 어떤 배경을 가지고 있는지 알려주세요. –

+0

@AlptiginJalayr PHP, JavaScript, MySQL은 자신감을 가지고 있습니다.하지만 전에는 이런 식으로 학습하는 어떤 종류의 머신도 본 적이 없습니다. 이것은 아마 내 리그에서 조금 벗어나지 만 적어도 문제의 해결책에 관련된 기술을 이해하려고 노력하고 싶습니다. – Jeremy

답변

2

귀하의 주문량은 15k ngram입니다. 이것은 매우 작은 데이터 세트입니다. 아마도 1MB의 메모리에 맞을 것입니다. 아마도 컴퓨터의 총 메모리의 1/5000 미만일 것입니다. 그런 문제를 해결하기 위해 필요하지 않습니다. 또한, 실제로 기계 학습 문제가 아닙니다. 단지 최적화 문제 일뿐입니다.

당신은 n-gram을 (작은) 단어 집합으로 생각하고 빈번한 단어 목록을 더 큰 집합으로 생각할 수 있습니다. 첫 번째 문제는 빈번한 단어 목록을 그 n-gram으로 덮을 수있는 (또는 최대한 가까이 다가 서기 위해) 가장 적은 수의 n-gram을 골라 내고 싶습니다. 정확히 set cover problem입니다. 아마도 정확한 해결책을 얻지 못할 것입니다. 그러나 잘 수행 할 수있는 간단한 경험법이 있습니다.

첫 번째 문제가 두 번째 문제와 어떻게 다른지 완전히 명확하지 않습니다.

+1

정말 도움이됩니다. 고마워요. 나는 그것을 생각하고 있었다. 케임브리지에서 내 친구를 이메일로 보낼 시간 - 지금 나는 내가 무엇을 요구하는지 안다!귀하의 답변에 정말 감사드립니다. 건배. – Jeremy