Ich habe die COTOHA-API-Syntaxanalyse 100 Mal in Java aufgerufen, um die Leistung zu messen.

Erstellen der CotohaNlpService-Klasse

Beitrag 1 Versuch, die COTOHA-API-Syntaxanalyse in Java zu verwenden

Wann

Beitrag 2 Analysieren der Syntaxanalyse der COTOHA-API in Java

Basierend auf habe ich die folgenden Klassen erstellt, damit die COTOHA-API problemlos verwendet werden kann. (Es wird zu einem späteren Zeitpunkt im Maven Repository veröffentlicht.)

CotohaNlpService.java https://github.com/oyahiroki/nlp4j/blob/master/nlp4j/nlp4j-cotoha/src/main/java/nlp4j/cotoha/CotohaNlpService.java

Mit dieser Klasse können Sie das Ergebnis der morphologischen Analyse auf einfache Weise wie folgt erhalten. (Legen Sie die für den API-Aufruf erforderlichen Variablen als Umgebungsvariablen fest.) Separat habe ich eine Klasse erstellt, die JSON formatiert und in einer durch Zeilenumbrüche getrennten Textdatei speichert, sodass die Anzahl der Aufrufe gespeichert werden kann.

CotohaNlpService service = new CotohaNlpService();
DefaultNlpServiceResponse response = service.nlpV1Parse("Ich bin heute zur Schule gelaufen.");
//Der JSON der Antwort wird ausgegeben. Es gibt auch eine Methode, die als Schlüsselwortklasse zurückgegeben werden kann.
System.err.println(response.getOriginalResponseBody()); 

Vorbereitung der Daten

Wir haben Daten vom Ministerium für Land, Infrastruktur, Verkehr und Tourismus "Automobile Recall / Defect Information" heruntergeladen und 100 Fälle verwendet. Das manuelle Kopieren von HTML ist natürlich mühsam, daher Gonyogonyo /MlitCarInfoCrawler.java) ^ _ ^;

Ministerium für Land, Infrastruktur, Verkehr und Tourismus "Rückruf- / Defektinformationen für Autos" http://carinf.mlit.go.jp/jidosha/carinf/opn/index.html

Ruf mich 100 mal an

Das Ergebnis eines 100-maligen Aufrufs ist wie folgt.

Die horizontale Achse ist die Anzahl der Versuche und die vertikale Achse ist die Verarbeitungszeit. Es enthält die JSON-Parsing-Verarbeitung auf der Clientseite, aber Sie können sich das als einige ms vorstellen. Anfangs dauerte es ungefähr 2000 ms, aber dazu gehört auch das Abrufen eines Tokens. Es ist normalerweise innerhalb von 200-300 ms, aber manchmal scheint es plötzlich langsamer zu werden. Ich denke, es besteht eine hohe Wahrscheinlichkeit, dass es für die DEV-Umgebung langsam ist, und natürlich hängt es von der Netzwerkumgebung ab.

image.png

Als nächstes sehen Sie ein Diagramm der Zeichenfolgenlänge und der Verarbeitungszeit. Anscheinend scheint es keine Korrelation zwischen der Länge des Strings und der Verarbeitungszeit zu geben. (Ich denke, dass sich extrem lange Charaktere wahrscheinlich ändern werden)

image.png

Unten sind die Rohdaten.

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

das ist alles

Recommended Posts

Ich habe die COTOHA-API-Syntaxanalyse 100 Mal in Java aufgerufen, um die Leistung zu messen.
Analysieren der COTOHA-API-Syntaxanalyse in Java
Versuchen Sie es mit der Syntaxanalyse der COTOHA-API in Java
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
Ich möchte die Java 8 DateTime-API (jetzt) langsam verwenden.
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
[java8] Um die Stream-API zu verstehen
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Java-Referenz zum Verständnis in der Abbildung
Versuchen Sie es mit der Stream-API in Java
Rufen Sie die Windows-Benachrichtigungs-API in Java auf
Ich habe das neue Yuan-Problem in Java ausprobiert
So erhalten Sie das Datum mit Java
Ich habe versucht, die Stream-API zusammenzufassen
Ich ging zum Java Women's Club # 1
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
ChatWork4j für die Verwendung der ChatWork-API in Java
Ich möchte eine E-Mail in Java senden.
Ich habe versucht, die Sitzung in Rails zu organisieren
Messen Sie die Größe eines Ordners mit Java
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
rsync4j - Ich möchte rsync in Java berühren.
Als ich eine Methode für Premium Friday erstellen wollte, war sie bereits in der Java 8-Standard-API enthalten
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Ich möchte den Wert in Ruby erhalten
[Android Studio] Ich möchte Einschränkungen für die in EditText [Java] registrierten Werte festlegen.
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
# 1_JAVA Ich möchte die Indexnummer durch Angabe eines Zeichens in der Zeichenfolge erhalten
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Versuchte Mastodons Toot- und Streaming-API in Java
[Java] So lassen Sie den privaten Konstruktor in Lombok weg
Ich möchte so etwas wie "cls" in Java machen
[Java] Ich möchte die Differenz zum Datum berechnen
Ich möchte eine TraceId in das Protokoll einbetten
Tokoro habe ich in der Migration von Wicket 7 auf 8 umgeschrieben
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
# 2 [Anmerkung] Ich habe versucht, neunundneunzig mit Java zu berechnen.
Quelle zum Abrufen der Umleitungsquell-URL in Java
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
In der Abbildung verstandene Java-Klassen und -Instanzen
[Java] Ich habe versucht, die Yahoo API-Produktsuche zu implementieren
~ Ich habe jetzt versucht, funktionale Programmierung mit Java zu lernen ~
Ich habe versucht herauszufinden, was sich in Java 9 geändert hat
Zabbix API in Java
Ich habe mir die Rosen von Versailles angesehen und versucht, das Schlusslied in Java zu reproduzieren
In Java möchte ich mehrere angegebene Zeichen nur von Anfang bis Ende abschneiden.
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Ich habe [Klonmethode für Java-Arrays] als Klonmethode in Java-Arrays übersetzt.
[Java] ArrayList → Sollte die Größe bei der Array-Konvertierung angegeben werden?
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
[Android, Java] Praktische Methode zur Berechnung der Differenz in Tagen
Ich wollte nur eine reaktive Eigenschaft in Java erstellen