2013-08-10 2 views
2

가능한 트위터 핸들을 생성하고 가용성을 확인하는 스크립트를 작성했습니다. 허용되는 심볼 조합을 반복하면됩니다 : a-z, 0-9, _. 현재 1926220 개의 조합, 즉 1 ~ 5 개의 기호가 포함 된 모든 조합을 확인했습니다. 여기에 간단한 결과는 다음과 같습니다 1 0 무료 계정, 2, 3 개 기호, 442711는이 목록을 분석하고 사람을 찾을 것 algorythm을 작성할 수 있습니다 만약 내가 궁금하네요임의의 텍스트로 언어 패턴 찾기

5.를 들어, 4 750 무료 그 중에서도 읽을 수있는 단어는입니다. 다음은 예입니다

elnsv 
elnt8 
eloq4 
elosu 
elq0_ 
elq15 
elq46 

elosu가이 다른 이들과 다른 단어와는 Elosu라고 스페인 심지어 마을이 있다고 밝혀졌습니다. 인간은 어떻게이 단어들을 구별 할 수 있습니까? 저는 여러 언어로 된 강의 표제를 만들고 단어를 비교해 볼 수 있다고 생각합니다. 수식이나 다른 아이디어로 나를 도울 수 있습니까?

업데이트 : 구현을 시도하려는 사용자는 5-symbol handles으로 연결됩니다.

+1

같은 종류의 http://en.wikipedia.org/wiki/Latent_semantic_indexing 같은가요? – jmpyle771

답변

3

이 문제를 해결하기 위해 wisdom of the crowd을 사용하려고합니다.

  1. 구글 (".. 당신이 뜻 않았다"사용하지 않음으로써)는이 귀하의 예제에서 나를 위해, 예를 들어, 쿼리 elnsv를 쿼리를 포함하는 페이지의 수는 대략 보여줍니다 60K 결과 ~주고있다 elq0_에는 ~ 23k 페이지가 있고 "elosu"에는 ~ 330k 개의 일치하는 페이지가 있습니다. 이것은 단어가 다른 단어보다 의미가있을 것이라는 강한 의미입니다. 따라서 기본적으로이 방법은 의미있는 의미와 그렇지 않은 내용을 결정하기 위해 검색 엔진을 사용하고 검색 엔진을 사용합니다.

  2. 단어 elosu의 단어는 입니다. 영어로는 의미가 없지만 여전히 도움이됩니다. 위키 백과 접근법은 어느 용어가 의미있는 단어인지를 결정하는 데 매우 정확할 것이지만 용어를 제거하는 데 문제가 될 수 있으므로 파이프 라인에서 첫 번째 레벨 '판사'로 사용하고 나머지는 다른 판사.

2

프로그래밍 할 때 인간과 같이 생각하면 캐릭터를 볼 때 어떤 문자열이 먼저 인식 될 수 있습니다. 이러한 알고리즘의 경우 인공 지능을 사용하거나 Google API를 사용하여 검색해야합니다.

위의 주어진 단어의 예를 들어 봅시다. 너는 숫자가있는 5 글자 단어를 가지고있다.

그래서 숫자가 최소 인 단어의 확률은 사람이 쉽게 식별 할 수 있습니다. 귀하의 경우에 나는이 규칙을 따르고 그것을위한 프로그램을 만들 것입니다. 5 개 알파벳과 내림차순

Word에서 우선 순위가 높은

단어는 더 높은 우선 순위에 있습니다. 4 개 알파벳과

워드 (예외 : 번호 처음 4 곳에서 안) 3 개 알파벳과

워드 (예외 : 번호가 처음 3 장소에서해서는 안) 등

및 ...

마지막 우선 순위는 처음 또는 마지막 위치에 특수 문자가있는 단어입니다.

단어 중간의 특수 문자로 구성된 단어는 우선 순위가 없어야합니다.

API를 사용하여 google을 검색하고 elnsv를 시도했을 때 그 단어가 ensv로 변경되었으며 ENSERVCO CORP.의 주식 부호 가 변경되었습니다. 따라서이 단어를 건너 뛰거나 관계를 추가 할 것입니다.

알고리즘은 다음과 같습니다. 숫자가있는 단어가 의미가 있거나 맞지 않는 단어의 통계 데이터를 만듭니다. 배열에 추가하고 삽입 정렬 알고리즘을 사용하여 정렬합니다. 사전 배열을 사용하여 관계를 찾고 사전에 특수 문자가있는 단어를 잊어 버리십시오. 특수 문자 또는 숫자가있는 단어의 경우 의미가 존재한다면 웹 기반 검색을 시도해야합니다. 기본적으로 남은 단어는 사람이나 기계에 의해 식별되지 않아야하므로 모든 검색 엔진의 도움을 받아야합니다.

제 답변이 맞는지 잘 모릅니다. 따라서 귀하가 제공 한 목록에서 제 코드를 정확하게 시험해 보겠습니다.

2

영문자 (글자, 바이 그램 등 사용)에 대한 마코프 모델을 학습하고 생성 된 단어의 가능성을 확인하십시오. 이것은 당연히 절대적이지는 않지만 괜찮은 결과를 제공해야합니다.

발음 가능한 암호를 생성하는 문제는 매우 유사하며 해당 영역에서 약간의 작업이있었습니다. 예를 들어 this related question