Vielen Dank. Ich möchte ein iPad. Es ist ein Story-Artikel, denn es heißt, wenn Sie einen Story-Artikel mit COTOHA schreiben, erhalten Sie ein iPad (es gibt ein schlechtes Wort).
Ich habe es in [github] 4 eingefügt, also schauen Sie bitte. Nur die Benutzerinformationen, die für den Zugriff auf COTOHA erforderlich sind, sind Dummy-Informationen. Überschreiben Sie diese daher bitte mit Ihren eigenen Informationen.
Die Schlussfolgerung ist die sprachliche Analyse des Titels und der Zusammenfassung von [Werden Sie ein Romanautor] 2.
[Romanautor werden] 2 ist eine Website für Web-Romane. Ein Roman ist auch eine Kreation, aber ich denke, er hat auch einen spielerischen Aspekt, wie man Zugang erhält. Wenn es eine trendige Geschichte gibt, machen Sie sich daran und erhalten Sie Zugang zu Werken, die zum Zähler werden. In gewisser Weise gibt es eine Kultur in der Nähe von Ogiri auf Twitter.
Der Hauptpunkt dieses Artikels ist es also, dieses Spiel mit Sprachanalyse zu hacken. Mit Blick auf [COTOHA API Portal] 1 habe ich mir eine Keyword-Extraktion und eine Ähnlichkeitsberechnung ausgedacht.
1 scheint möglich zu sein, aber wenn ich auch 2 schreibe, ist es ein Teil, der nüchtern ist. In letzter Zeit ist der Titel oft im Satzformat, daher der Titel ≒ Synopse. Ist das in Ordnung oder ist es besser, Informationen einzugeben, die sich vom Titel unterscheiden? Ich bin neugierig.
Der Titel und die Inhaltsangabe verwenden [Narurou Novel API] 3. Es ist eine API, die die Gliederungsinformationen des offiziellen Naro-Romans abrufen kann.
Wenn Sie die genauen Informationen wissen möchten, lesen Sie bitte [Dokument] 3. Wenn Sie mit GET eine Abfrage an die folgende URL anhängen und diese auslösen, Es ist eine einfache API, die einen Überblick über den Roman gibt, der gefangen wurde.
https://api.syosetu.com/novelapi/api/
Eigentlich wollte ich die ersten 10 Folgen in die Analyse einbeziehen, aber die offizielle API offenbart die Textinformationen nicht. Einige Websites haben die Benutzeroberfläche durch Abrufen von Daten verfeinert Ich glaube, mir hat die Auslastung des Servers deswegen nicht gefallen. Es ist moralisch, etwas zu tun, das nicht offiziell ist, selbst wenn man kratzt, also habe ich damit aufgehört.
https://api.syosetu.com/novelapi/api/?out=json&lim=50&order=dailypoint
Wenn Sie beispielsweise mit json die 50 besten Elemente im täglichen Ranking erhalten möchten, sieht es so aus. Es tut mir leid, dass ich den Server jedes Mal während des Tests belasten muss Sobald Sie dieses Tool erhalten haben, speichern Sie es lokal und verwenden es erneut. Der Code sieht übrigens so aus.
url = 'https://api.syosetu.com/novelapi/api/'
param = {
'out': 'json',
'lim': '50',
'order': 'dailypoint',
}
url_format = '{}?{}'.format(url, urllib.parse.urlencode(param))
res = requests.get(url=url_format)
Zunächst wird die Anzahl der Ausgaben des Romans mit der Bezeichnung all count zurückgegeben Es ist ein kleiner Mist, aber Sie müssen alle Zählungen vermeiden, wenn Sie für verwenden.
narou_datas = res.json()
for data in narou_datas:
if 'title' in data:
title = data['title']
story = data['story']
daily_point = data['daily_point'],
COTOHA API [COTOHA API Portal] 1 scheint bei der Verwendung einen zweistufigen Prozess zu erfordern.
url = 'https://api.ce-cotoha.com/v1/oauth/accesstokens'
header = {
'Content-Type':'application/json'
}
param = {
'grantType': 'client_credentials',
'clientId': conf['clientId'],
'clientSecret': conf['clientSecret'],
}
res = requests.post(url=url, headers=header, data=json.dumps(param))
access_token = res['access_token']
url = 'https://api.ce-cotoha.com/api/dev/nlp/v1/keyword'
header = {
'Content-Type' : 'application/json;charset=UTF-8',
'Authorization' : f"Bearer {access_token}",
}
param = {
'document': title,
'type' : 'kuzure',
'max_keyword_num' : 10,
}
res = requests.post(url=url, headers=header, data=json.dumps(param))
result = res['result']
url = 'https://api.ce-cotoha.com/api/dev/nlp/v1/similarity'
header = {
'Content-Type' : 'application/json;charset=UTF-8',
'Authorization' : f"Bearer {access_token}",
}
param = {
's1': title,
's2': story,
'type' : 'kuzure',
}
res = requests.post(url=url, headers=header, data=json.dumps(param))
result = res['result']
Dies war weitgehend erfolgreich. Es scheint, dass die Top 50 Fälle nicht unerwartet voreingenommen sind, Zum Beispiel scheint es, dass der Grad der Epidemie gemessen werden kann, indem sie regelmäßig durchgeführt wird und die Tendenz zur Zunahme oder Abnahme zeigt.
Wenn Sie die Hauptergebnisse aus den Top-100-Ergebnissen extrahieren, "Geschicklichkeit" "Kindheitsfreund" "Vertreibung" "Andere Welt" "Musou" "Stärkste" "Isolierung" "Böse Tochter" Ist es nicht eine Aufstellung, die allgemein überzeugt?
Beim visuellen Vergleich gab es meistens einige Schlüsselwörter, die korrigiert werden sollten.
Gängige Nomenklaturen wie "Mann", "Er" und "Sie" werden als Schlüsselwörter verwendet. Da es sich um Informationen handelt, die durch die ursprüngliche Bedeutung eines Schlüsselworts zu Rauschen werden, Es scheint notwendig, eine Ausschlussliste zu erstellen und so weiter.
Beispielsweise wurde "stärkste langsame Lebensdauer" als ein Schlüsselwort gezählt. Wenn möglich, zählen Sie dies als zwei Schlüsselwörter, "stärkste" und "langsame Lebensdauer". Wenn sich die Nomenklaturen überschneiden, scheinen sie eher als ein Wort gezählt zu werden. Zum Beispiel ist "Reinkarnation in einer anderen Welt" eine komplexe Nomenklatur, aber ich möchte, dass es ein Wort ist. Allzweckmaßnahmen scheinen recht schwierig zu sein.
Ich denke, es wäre nicht seltsam für verschiedene Welten und Bösewichtstöchter, mehr überwältigende Zahlen zu haben. Da diese ihre eigenen Einstellungselemente und Kategorien haben, scheinen sie nicht einfach im Titel oder in der Zusammenfassung beschrieben zu werden. Es scheint, dass Tags usw. separat gewichtet und dann auf komplexe Weise verarbeitet werden müssen.
Es ist schmerzhaft zu sagen, ohne ein klares Diagramm zu erstellen, aber ich schien nicht viel Korrelation zu finden.
Wenn Sie dem Trend folgen,
"title": "Kenseis Freund aus Kindertagen hat mich mit Machtschikanen hart getroffen, also habe ich beschlossen, zu isolieren und wieder an der Grenze zu beginnen." "daily_point": 5468, "score": 0.9695894
Titel im Satzformat, wie sie mit hoher Ähnlichkeit berechnet werden,
"title": "Different World Cooking Road", "daily_point": 574, "score": 0.44519746
Altmodische Nomenklaturtitel, wie sie berechnet werden, weisen eine geringe Ähnlichkeit auf.
Wenn Sie sich die Verteilung der Punktzahlen ansehen, gibt es viele Zahlen mit hoher Ähnlichkeit Es scheint wahr zu sein, dass es viele Titel im Satzstil gibt, die ein sogenanntes leichtes Romangefühl haben. Allein damit weiß ich jedoch nicht, ob es sich um ein Satzformat handelt, so dass es viele in der Spitze gibt, oder einfach, weil es beliebt ist und nur viele Menschen leben.
Um Korrekturen vorzunehmen, wird die Ähnlichkeit für die Ergebnisse nach Buchungsdatum und -zeit sortiert und mit dem Koeffizienten verglichen. Wenn es dieser Ähnlichkeitsverteilung ähnlich ist, spiegelt es einfach die Bevölkerung wider. Wenn das Verhältnis der Satzformate in dieser Verteilung gering ist, scheinen die Satzformate eine starke Lesefähigkeit zu haben.
Die Ähnlichkeitsberechnung war jedoch ursprünglich eine Übersicht darüber, welche Art von Zusammenfassung beliebt sein würde. Nachdem ich zusätzliche Nachforschungen angestellt hatte, konnte ich keine Schlussfolgerung darüber ziehen, was mit der Inhaltsangabe zu tun ist, und endete hier. (Die Frage, wie der Titel lauten soll, hat persönlich eine niedrige Priorität.)
Weil es mit dem oben aufgeführten Testcode funktioniert. Es ist sehr leicht. Jeder, der Curl treffen kann, kann es in Sekundenschnelle verwenden, daher scheint es recht einfach zu sein.
Andererseits ist es schwierig, die Antwort zu verstehen, wenn ein Fehler auftritt. Mit dem Zugriffstoken stimmt etwas nicht, es sind zu viele Zeichen vorhanden. Ich erhalte aus einem anderen Grund eine Fehlermeldung. Der Status der Antwort und die Granularität der Nachricht sind also ziemlich grob Von dort aus war es ziemlich schwierig, die Ursache zu identifizieren.
Wie einige Leute es benutzt haben, um den Aozora Bunko zusammenzufassen, Ich dachte, dass es seinen wahren Wert zeigen würde, wenn es in Kombination mit anderen Diensten verwendet wird.
Zum Beispiel durch Kombinieren von Spracherkennung und Benutzerattributschätzung, Es scheint, dass die Eigenschaften von Menschen, die sich in einem bestimmten Raum aufhalten, automatisch erfasst werden können. Installieren Sie es in einem Restaurant, schätzen Sie die Eigenschaften des Kunden, Dieser Bereich erhöht den Bestand an höheren Menüs usw. (Es sieht so aus, als würde es aufgrund von Datenschutzproblemen brennen.)
Ich möchte ein iPad.