Java에서 COTOHA API 구문 분석을 100회 호출하여 성능을 측정했습니다.

3856 단어 COTOHANLP4JJava

CotohaNlpService 클래스 만들기


기사 1 Java에서 COTOHA API를 사용한 구문 분석
열다
게시물 2Java로 COTOHA API 구문 분석
에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
(향후 Maven Repository에서 공개 예정)
CotohaNlpService.java
https://github.com/oyahiroki/nlp4j/blob/master/nlp4j/nlp4j-cotoha/src/main/java/nlp4j/cotoha/CotohaNlpService.java
이 종류를 이용하면 다음과 같은 느낌으로 어소 해석 결과를 간단하게 얻을 수 있다.
(API 호출에 필요한 변수를 환경 변수로 설정)
또한 JSON을 성형하여 텍스트 파일에 줄 바꿈으로 저장하는 클래스를 만들었기 때문에 호출 횟수를 절약할 수 있습니다.
CotohaNlpService service = new CotohaNlpService();
DefaultNlpServiceResponse response = service.nlpV1Parse("今日は学校に走って行きました。");
// レスポンスのJSON が出力される。キーワードクラスとして返すメソッドも用意している。
System.err.println(response.getOriginalResponseBody()); 

데이터 준비


국토교통성에서 자동차 리콜·고장 정보를 다운로드해 100건을 이용했다.
손으로 HTML을 복사하는 것은 당연히 번거롭기 때문에 내가 했다여자 변소. ^_^;
국토교통성 "자동차 리콜, 고장 정보"
http://carinf.mlit.go.jp/jidosha/carinf/opn/index.html

100번 불러봐


100번을 불러본 결과 다음과 같다.
가로축은 시도 횟수이고 세로축은 처리 시간입니다.
클라이언트에서 JSON 퍼스를 처리하는 것을 포함하지만 몇 밀리초라고 볼 수 있습니다.
처음에는 2000ms 정도가 필요했는데 이것도 Token의 취득을 포함한다.
기본적으로 200-300ms이지만 갑자기 느려질 때가 있다.
DEV 환경이 느릴 가능성도 높고 (비싼) 물론 네트워크 환경도 다릅니다.

다음은 문자열의 길이와 처리 시간의 도표입니다.
문자열의 길이와 처리 시간은 상관없어 보입니다.(나는 극단적으로 긴 글자 등이 바뀔 가능성이 높다고 생각한다)

다음은 원본 데이터입니다.
length,time
61,2001
73,337
54,310
79,349
58,274
51,269
41,660
21,263
38,283
74,295
52,4472
70,1138
68,3074
31,243
39,251
15,219
11,258
14,259
62,293
66,276
27,272
18,220
63,278
62,428
68,284
50,288
43,250
45,264
70,273
58,250
157,593
88,280
66,264
26,272
38,1514
8,237
42,256
53,1472
42,2668
35,230
32,235
36,241
116,325
17,254
102,309
59,268
21,220
43,278
64,249
32,246
31,247
27,252
70,3698
61,340
51,233
23,225
20,226
60,310
50,1685
72,281
37,270
45,253
13,224
54,243
64,302
52,1876
90,3251
30,9501
73,2323
70,3689
70,1304
61,303
67,262
17,3032
128,302
63,272
33,238
32,257
106,3906
57,261
103,299
82,270
71,268
158,803
41,255
36,284
62,304
36,234
38,1778
19,1478
90,345
22,239
62,310
72,2555
66,256
25,927
33,242
39,283
24,237
42,247

보다 크면 같음

좋은 웹페이지 즐겨찾기