2012-07-13 4 views
0

문장 분류 프로그램의 형태로 도움이 필요합니다.간단한 자바 문장 분류 프로그램

파일을 읽고 각 문장을 검사하여 '키워드'를 찾는 프로그램입니다. 키워드는 내부에 단어가 쓰여진 다른 파일에 있습니다. 키워드를 찾으면 해당 문장을 다른 파일에 씁니다.

지금까지 내가 출력 파일의 입력 파일을 분할 문장으로 쓰기의 독서 멋진 오전

당신은 프로그램이 첫 번째 파일에서 각 문장을 읽고 비교하는 방법을 몇 가지 방향을 제시시겠습니까 두 번째 파일의 단어와 비교하여 문장의 키워드를 찾으면 세 번째 파일에 기록합니까?

감사합니다.

+0

모든 단어를 'HashSet'에로드하십시오. 단어 단위로 입력 분할; 'set.contains (word)'를 사용하십시오 –

+1

regexp 접근 방식이 더 적합하지 않습니까 ?? – MadProgrammer

+1

@ user992484 "정규식"이란 무엇입니까? –

답변

0

스캐너를 사용하여 파일을 읽고 직접 단어를 추출 할 수 있습니다. 당신은 내가 가정, 세트 인 FileWriter

0

키워드 쓰기가 발견되면

당신은 다음, TreeSet의에 비교하는 모든 키워드를로드 할 수 있습니다. 빠른 액세스가 필요하므로 HashSet을 사용하십시오.

키워드가 일치해야하며 공백으로 정확하게 일치해야하는 경우 공백 (\\s+ 정규식)으로 문장을 분리하고 문장의 각 단어를 키워드의 요소와 일치 시키십시오.

이렇게하면 종속성 그래프를 만들 수 있으므로 kewords가 키이고 HashMap 값이 해당 키워드를 참조하는 문장 집합입니다.

결국

,이 같은 끝낼 수 :

[Keyword="StackOverflow"] 
    [Values= 
     "I like posting on StackOverflow.", 
     "StackOverflow is cool." 
    ] 
[Keyword="posting"] 
    [Values= 
     "I like posting on StackOverflow." 
    ] 
0

나는 PHP를 기반 솔루션 -

  1. 문장을 구문 분석 문자열을 제공 할 수 있습니다.
  2. 사용 strtok를() 함수 및 tokenizers/분류로 (등 /) ('') 일반적인 구두점을 정의한다.

  3. 형태 미리 정의 된 단어를 포함하는 데이터의 사전 설정된 배열 /.

  4. 완전한 단어 일치를 위해 preg_match() 함수를 사용하십시오. 지정된 구조체를 사용하여 배열을 -> $ variable = array ("/ (\ bword1 \ b) /", "/ (\ bword2) \ b)/")

  5. 위에서 언급 한 기능의 참조 목적/사양을 보려면 PHP 문서 (http://www.php.net/)를 검색하십시오.

희망이 있습니다.

건배.