Kuromoiji 정보
17015 단어 kuromoji
Kuromoji를 사용할 때의 잡기.그냥 필기예요.
개시하다
쿠루모지는 일본어 형태소 해석 엔진인데 형태소 해석은 도대체 무엇일까?저기서.
형태소 해석
문장을 단어로 나누어 단어의 성질을 정의하는 처리
다음 세 가지 처리를 진행하다
이런 순서로 진행하다.
기본 구조
형태소 해석을 할 때는 단어를 분할할 필요가 있지만 어디서 잘라내야 하는지가 과제다.
나는 여기에서 단어 사전을 사용한다.
단어사전은 10만 개 이상의 단어책처럼 입력된 문장에 대한 모든 분류 방법 모델을 추출하는 데 사용된다.
그러나 검색할 때마다 계산 시간이 많이 걸리기 때문에 나무처럼 사전을 들고 관리한다.
다음 그림에서 보듯이 이것은 첫 번째 문자와 두 번째 문자로 거슬러 올라갈 수 있는 사전이다.
백환은 다음과 같은 상황을 나타내고, 적환은 단어의 끝으로 뜻이 통하는 것을 나타낸다.
형태 소라티스
형태소 레이티스는 단어 사전을 사용해 추출한 모든 단어의 조합 결과를 그래프로 표현하는 구조다.
다음 그림의 예에서는 도쿄도에 살 때의 형태소인 레이티스를 입력합니다.
최소 원가법
최소원가법은 형태소 latis 중 어느 것이 가장 정확한 단어인지 판단하는 분할 방법이다.
원가가 구체적이다
- 두 단어 쉽게 연결(접속 비용)
- 한 단어가 쉽게 나온다(발생 비용)
라는 두 가지 질문을 던졌다.각 단어의 사전과 함께 이것들을 가지고 계산한다.
아마, 단어가 쉽게 연결되는 가장 자연스러운 것을 선택했다는 인상을 주지 않을까요?
위의 그림에서 볼 때 도쿄 | 도 |에 사는 비용이 가장 낮다
형태소 분석 결과는'도쿄에 살다|도에 산다|'다.
이것은 가장 가능한 모드를 출력한 것에 불과하기 때문에 잘못된 상황도 출력했다.특히 히라가나.
※ 일본인도 잘못 읽으면 틀린다
이상은 형태소 분석 자체의 대략적인 설명이다.
Kouromoiji 개요
Kuromoji는 자바로 작성된 오픈 소스 일본어 형태소 해석 엔진입니다.
사전이 포함되어 있으며 사용되는 사전은 MeCab-PIPADIC 사전입니다.
여기서 말하는 사전은 형태소를 해석할 때 사용하는 단어책과 같다.
일본어로 구분하여 쓰기 위해(단어의 단락에 공백을 두고) 형태소를 해석할 때 단어사전을 사용한다.
형태소 분석의 구조는 다음과 같다.
기능·특징
기능
Java의 여러 샘플을 사용합니다.
Token 클래스에서 얻을 수 있는 정보
Kuromoji는 Tokenizer 클래스→tokenize () 방법을 초기화하는 매개 변수로 형태소가 해석한 단어를 입력하고 결과를 받아들이는 형식으로 실행한다
다음은 참조입니다.
예1) 형태소 분석
Tokenizer 실례를 Tokeniser로 초기화합니다.tokenize의 격식으로 진행하다.
형태소 분석
Tokenizer tokenizer = Tokenizer.builder().build();
List<Token> tokens = tokenizer.tokenize("もう眠い");
for (Token token : tokens) {
System.out.println("====================");
// allFeatures tokenの全ての要素を出力
System.out.println("allFeatures: " + token.getAllFeatures());
// partOfSpeech 品詞など形態素上で意味のある言葉を出力
System.out.println("partOfSpeech: " + token.getPartOfSpeech());
// position 単語の位置を出力
System.out.println("partOfSpeech: " + token.getPosition());
// reading カナ読みを出力
System.out.println("reading: " + token.getReading());
// surfaceForm 元の単語を出力
System.out.println("surfaceFrom: " + token.getSurfaceForm());
// allFeaturesArray allFeaturesをArray型で返す
System.out.println("allFeaturesArray" + token.getAllFeaturesArray());
// isKnown 辞書にある言葉かどうか
System.out.println("isKnown: " + token.isKnown());
// isUnknown 辞書にない言葉かどうか、isKnownと反対の結果が出力される
System.out.println("isUnKnown: " + token.isUnknown());
// isUser ユーザーで定義した言葉かどうか
System.out.println("User: " + token.isUser());
}
결과 내보내기
====================
allFeatures: 副詞,一般,*,*,*,*,もう,モウ,モー
partOfSpeech: 副詞,一般,*,*
partOfSpeech: 0
reading: モウ
surfaceFrom: もう
allFeaturesArray[Ljava.lang.String;@30dae81
isKnown: true
isUnKnown: false
User: false
====================
allFeatures: 形容詞,自立,*,*,形容詞・アウオ段,基本形,眠い,ネムイ,ネムイ
partOfSpeech: 形容詞,自立,*,*
partOfSpeech: 2
reading: ネムイ
surfaceFrom: 眠い
allFeaturesArray[Ljava.lang.String;@1b2c6ec2
isKnown: true
isUnKnown: false
User: false
====================
예2) 패턴을 구분해 보다Kuromoji에서 형태소를 해석할 때 모드를 지정할 수 있습니다.
패턴은 세 가지가 있습니다.
- 일반 모드
일반적으로 패턴이 초기화되면 기본적으로 이런 형식으로 형태소 분석을 한다.
구분 모드를 시도해 보다
String parseWord = "日本経済新聞でモバゲーの記事を読んだ";
Builder builder = Tokenizer.builder();
// ノーマルモード
Tokenizer normal = builder.build();
List<Token> tokenNormal = normal.tokenize(parseWord);
// Searchモード
builder.mode(Mode.SEARCH);
Tokenizer search = builder.build();
List<Token> tokenSearch = search.tokenize(parseWord);
// Extendsモード
builder.mode(Mode.EXTENDED);
Tokenizer extended = builder.build();
List<Token> tokenExtended = extended.tokenize(parseWord);
결과 내보내기
// ノーマルモード
=> 日本経済新聞 | で | モバゲー | の | 記事 | を | 読ん | だ
// Searchモード
=> 日本 | 経済 | 新聞 | で | モバゲー | の | 記事 | を | 読ん | だ
// Extendsモード
=> 日本 | 経済 | 新聞 | で | モ | バ | ゲ | ー | の | 記事 | を | 読ん | だ
기타다른 할 수 있는 일로
- 사용자 사전 사용
Builder에게 사용자 사전을 전달하고 사용자 사전을 즉석에서 사용자 정의할 수 있습니다.
특정 단어에 대해서만 추가하고 싶다면 지정하는 것이 좋을 수도 있다.
Kuromoji도 Unitic이라는 사전의 사용을 지원하는 것 같다.
필요하면 이용해도 괜찮아요.
참고 자료
형태소 분석
일본어 형태소 해석의 배후를 들여다보자!MeCab은 어떻게 형태소를 분석합니까? 쿡패드 개발자 블로그-
http://techlife.cookpad.com/entry/2016/05/11/170000
MeCab 일반 일본어 형태소 분석 엔진
http://chasen.naist.jp/chaki/t/2009-09-30/doc/mecab-cabocha-nlp-seminar-2009.pdf
기술적인 검색엔진 고찰~ 제1회 텍스트 발굴의 기본 중의 기본, 형태소 분석과 BOW는~
http://mieru-ca.com/blog/research-basics-of-text-mining/
Kuromoji
Java 형태 분석기 "Kuromoji"를 사용해 보십시오
http://www.mwsoft.jp/programming/lucene/kuromoji.html
Java:kuromoji로 형태소 분석
http://www.hiihah.info/index.php?Java%EF%BC%9Akuromoji%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B
(GAE에서 일본어의 형태소를 분석해보고) 3번째 쿠로모지를 사용해보자.
https://shun1adhocblog.wordpress.com/2013/04/05/gae%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%81%ae%e5%bd%a2%e6%85%8b%e7%b4%a0%e8%a7%a3%e6%9e%90%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e7%ac%ac3%e5%9b%9e%e3%80%80kuromoji%e3%82%92/
Reference
이 문제에 관하여(Kuromoiji 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shuyann/items/ae081c8fa1c9b2804f83텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)