PDI에서 Kuromoji를 사용하여 형태소 분석
경위 등
Pentaho Data Integartion(PDI)상에서 형태소 해석할 필요가 있었으므로 조사와 메모.
PDI가 Java로 구현되어 있기 때문에 호출하기 쉽도록 Java의 형태소 해석기를 조사했는데, Kuromoji가 있었으므로, 그쪽을 이용하겠다고 했습니다.
다만, Java로 써 PDI로 부르는 것도 귀찮았으므로, 결국 Jython 경유로 이용하고 있습니다.
사용환경
PDI 7.1
Java 버전 8 업데이트 131
쿠로모지 0.7.7
Jython 2.7.0
설정 절차
PDI는 여기
※해동하면 "data-integration"이라는 디렉토리가 생기는데 이 근처는 할애
※나중에 Java가 필요하므로 사전에 설치해 둔다
Kuromoji GitHub 에서 ZIP 파일을 다운로드하고 압축을 풉니다.
$ pwd
~/data-integration/lib
$ ls kuromoji-0.7.7.jar
kuromoji-0.7.7.jar
$
Jython을 여기에서 StandaloneJar를 다운로드하고 아래에 놓습니다.
$ pwd
~/data-integration/lib
$ ls jython-standalone-2.7.0.jar
jython-standalone-2.7.0.jar
$
실행
PDI를 시작.
$ pwd
~/data-integration
$ ./spoon.sh
기동하면, 다음과 같이 설정한다. 자세한 것은 이미지 아래에 기재.
"데이터 그리드"단계는 몇 가지 적절한 문장을 설정합니다. 이번에는 다음과 같이 했다.
· 테스트합니다.
· Jython으로 형태소 해석합니다.
· Kuromoji를 사용하고 있습니다.
「Script」스텝은, 이하와 같이 설정. 또, 스텝명을 「~.python」로서 둘 필요가 있으므로 주의한다.
from org.atilika.kuromoji import Tokenizer
builder = Tokenizer.builder();
normal = builder.build();
TokensNormal = normal.tokenize(txtdata);
rslist = []
for token in TokensNormal:
rslist.extend([token.getSurfaceForm() + "," + token.getPartOfSpeech() + "|"])
rs = ''.join(rslist)
"Script"단계 하단의 "Fields"에는 최종적으로 반환하고 싶은 필드를 설정한다. 여기, "rs".
여기까지 설정하면, 「Script」스텝상에서 프리뷰 실행을 실시하면, 다음과 같이 됩니다.
복수의 캐릭터 라인을 연속해 처리하고 있으므로, 1개의 캐릭터 라인을 형태소 해석한 결과는, "|"로 연결합니다.
형태소 해석과 PDI로의 처리를 따로 하고 있어, 번거로움을 느끼고 있는 경우 등에 사용할 수 있는 것이 아닐까 생각합니다.
참고
htp://d. 하테나. 네. jp/k중 20bぅ에/20151224/1450943656
htps //w w. 여기? 코 m/쟈/p로즈 cts/쿠로모지. HTML
Reference
이 문제에 관하여(PDI에서 Kuromoji를 사용하여 형태소 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mik/items/60b39ffadfaa19a1f06e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
PDI 7.1
Java 버전 8 업데이트 131
쿠로모지 0.7.7
Jython 2.7.0
설정 절차
PDI는 여기
※해동하면 "data-integration"이라는 디렉토리가 생기는데 이 근처는 할애
※나중에 Java가 필요하므로 사전에 설치해 둔다
Kuromoji GitHub 에서 ZIP 파일을 다운로드하고 압축을 풉니다.
$ pwd
~/data-integration/lib
$ ls kuromoji-0.7.7.jar
kuromoji-0.7.7.jar
$
Jython을 여기에서 StandaloneJar를 다운로드하고 아래에 놓습니다.
$ pwd
~/data-integration/lib
$ ls jython-standalone-2.7.0.jar
jython-standalone-2.7.0.jar
$
실행
PDI를 시작.
$ pwd
~/data-integration
$ ./spoon.sh
기동하면, 다음과 같이 설정한다. 자세한 것은 이미지 아래에 기재.
"데이터 그리드"단계는 몇 가지 적절한 문장을 설정합니다. 이번에는 다음과 같이 했다.
· 테스트합니다.
· Jython으로 형태소 해석합니다.
· Kuromoji를 사용하고 있습니다.
「Script」스텝은, 이하와 같이 설정. 또, 스텝명을 「~.python」로서 둘 필요가 있으므로 주의한다.
from org.atilika.kuromoji import Tokenizer
builder = Tokenizer.builder();
normal = builder.build();
TokensNormal = normal.tokenize(txtdata);
rslist = []
for token in TokensNormal:
rslist.extend([token.getSurfaceForm() + "," + token.getPartOfSpeech() + "|"])
rs = ''.join(rslist)
"Script"단계 하단의 "Fields"에는 최종적으로 반환하고 싶은 필드를 설정한다. 여기, "rs".
여기까지 설정하면, 「Script」스텝상에서 프리뷰 실행을 실시하면, 다음과 같이 됩니다.
복수의 캐릭터 라인을 연속해 처리하고 있으므로, 1개의 캐릭터 라인을 형태소 해석한 결과는, "|"로 연결합니다.
형태소 해석과 PDI로의 처리를 따로 하고 있어, 번거로움을 느끼고 있는 경우 등에 사용할 수 있는 것이 아닐까 생각합니다.
참고
htp://d. 하테나. 네. jp/k중 20bぅ에/20151224/1450943656
htps //w w. 여기? 코 m/쟈/p로즈 cts/쿠로모지. HTML
Reference
이 문제에 관하여(PDI에서 Kuromoji를 사용하여 형태소 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mik/items/60b39ffadfaa19a1f06e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ pwd
~/data-integration/lib
$ ls kuromoji-0.7.7.jar
kuromoji-0.7.7.jar
$
$ pwd
~/data-integration/lib
$ ls jython-standalone-2.7.0.jar
jython-standalone-2.7.0.jar
$
PDI를 시작.
$ pwd
~/data-integration
$ ./spoon.sh
기동하면, 다음과 같이 설정한다. 자세한 것은 이미지 아래에 기재.
"데이터 그리드"단계는 몇 가지 적절한 문장을 설정합니다. 이번에는 다음과 같이 했다.
· 테스트합니다.
· Jython으로 형태소 해석합니다.
· Kuromoji를 사용하고 있습니다.
「Script」스텝은, 이하와 같이 설정. 또, 스텝명을 「~.python」로서 둘 필요가 있으므로 주의한다.
from org.atilika.kuromoji import Tokenizer
builder = Tokenizer.builder();
normal = builder.build();
TokensNormal = normal.tokenize(txtdata);
rslist = []
for token in TokensNormal:
rslist.extend([token.getSurfaceForm() + "," + token.getPartOfSpeech() + "|"])
rs = ''.join(rslist)
"Script"단계 하단의 "Fields"에는 최종적으로 반환하고 싶은 필드를 설정한다. 여기, "rs".
여기까지 설정하면, 「Script」스텝상에서 프리뷰 실행을 실시하면, 다음과 같이 됩니다.
복수의 캐릭터 라인을 연속해 처리하고 있으므로, 1개의 캐릭터 라인을 형태소 해석한 결과는, "|"로 연결합니다.
형태소 해석과 PDI로의 처리를 따로 하고 있어, 번거로움을 느끼고 있는 경우 등에 사용할 수 있는 것이 아닐까 생각합니다.
참고
htp://d. 하테나. 네. jp/k중 20bぅ에/20151224/1450943656
htps //w w. 여기? 코 m/쟈/p로즈 cts/쿠로모지. HTML
Reference
이 문제에 관하여(PDI에서 Kuromoji를 사용하여 형태소 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mik/items/60b39ffadfaa19a1f06e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(PDI에서 Kuromoji를 사용하여 형태소 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mik/items/60b39ffadfaa19a1f06e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)