Bei Verwendung von JUMAN ++ mit PyKNP ist ein Wertefehler aufgetreten

Fehlerinhalt

Wenn ich versuche, einen japanischen Satz aus PyKNP mit Human ++ morphologisch zu zerlegen, erhalte ich diesen Fehler ...! ValueError: invalid literal for int() with base 10: 'input' (Die Methode zur Verwendung von Human und Juman ++ aus Python wird weggelassen.)

  File "/$HOME/.pyenv/versions/anaconda3-2019.03/lib/python3.6/site-packages/pyknp/
juman/morpheme.py", line 143, in _parse_spec                                                   
    self.hinsi_id = int(parts[4])

ValueError: invalid literal for int() with base 10: 'input'

Mögliche Fehlerursache

Zur Zeit, wenn ich es anhand der Fehlermeldung nachschlage

Es scheint, dass Leerzeichen mit halber Breite und Zeichen mit halber Breite schlecht sind.

Eingabetext korrigieren

Ersetzen Sie also alle Zeichen mit halber Breite durch Zeichen mit voller Breite.

jedoch

Selbst wenn ich alle Zeichen mit halber Breite zu Zeichen mit voller Breite korrigierte, trat derselbe Fehler weiterhin auf. Anscheinend unterscheidet sich die Ursache von der Situation im obigen Artikel.

Ursache gefunden

Es spielt keine Rolle, aber pdb ist praktisch

Also habe ich es auf pdb ausgeführt und den Inhalt der Variablen parts zum Zeitpunkt des Fehlers überprüft ~~ Mach es von Anfang an ~~.

(Pdb) parts
['InvalidParameter:', 'byte', 'size', 'of', 'input', 'string', '(4302)', 'is', 'greater', 'than│(base)
', 'maximum', 'allowed', '(4096)']

(Es war ursprünglich eine Spezifikation, dass der Fehlerinhalt in der Liste enthalten ist, die das Analyseergebnis enthält, wenn ein Fehler auftritt ...)

Anscheinend war ** die Größe (Anzahl der Bytes) der Eingabezeichenfolge zu groß **. ** Die Grenze der Eingabezeichenfolge scheint insgesamt 4096 Byte zu betragen **, daher ist es besser, die Kapazität auf weniger als diese zu beschränken.

Lösung vorerst

Ich war gerade dabei, einen Datensatz zu erstellen, der an BERT gesendet werden soll, aber ein zu langer Satz ist ein Pass! ~~ UTF-8 scheint je nach Zeichentyp eine unterschiedliche Anzahl von Bytes zu haben, daher ist es schwierig, ~~ zu schneiden

Erkennen Sie Anweisungen, die größer als 4096 Byte sind, unter den folgenden Bedingungen und umgehen Sie sie. (Split oder Pass) Es untersucht und vergleicht die Anzahl der Bytes in der Zeichenfolge "Text".

if len(text.encode('utf-8')) > 4096:

Klicken Sie hier, um die Anzahl der Bytes anstelle der Länge der Zeichen in einer Zeichenfolge zu überprüfen

Zusammenfassung

Die Fehlerursache bei Verwendung von Human ++ aus PyKNP wird mit dem oben eingeführten Artikel kombiniert.

war.

Recommended Posts

Bei Verwendung von JUMAN ++ mit PyKNP ist ein Wertefehler aufgetreten
Bei der Verwendung von Tensorboard mit Pytorch ist ein Fehler aufgetreten
Beim Speichern mit OpenCV ist ein Fehler aufgetreten
Linux Ubuntu16.04 Ich habe einen beängstigenden Fehler erhalten, als ich einen Befehl mit sudo ausgeführt habe
Ich habe einen TypeError: 'int'-Objekt ist bei Verwendung von Keras nicht iterierbar
Worauf ich mich bei der Verwendung von Tensorflow-gpu eingelassen habe
Eine Erinnerung an das, was ich beim Starten von Atcoder mit Python feststeckte
Fehler beim Installieren eines Moduls mit Python pip
Wenn ich einen Chrom-Treiberfehler in Selenium bekomme
Ich erhalte einen UnicodeDecodeError, wenn ich mit mod_wsgi laufe
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich habe eine Fehlermeldung erhalten, als ich opencv mit Raspeye in Python3 eingefügt habe [Remedy]
Ich habe einen sqlite3.OperationalError
Nach der Installation der Grundkarte wurde ein numpy-Importfehler angezeigt
Ich habe einen UnicodeDecodeError erhalten, als ich auf Ubuntu Pip installiert habe
Ein Memorandum, wenn bei der Pip-Installation ein Fehler auftritt
Ich kann ein Projekt mit PyWebView mit PyInstaller nicht in eine Exe verwandeln
Ich blieb stecken, als ich versuchte, einen relativen Pfad mit relative_to () in Python anzugeben
Ich habe eine Fehlermeldung erhalten, als ich Pandas auf einem Mac installiert habe, also habe ich mich damit befasst
Ich habe eine Fehlermeldung erhalten, als ich tweepy unter macOS Sierra installiert habe, also habe ich mich damit befasst.
Als ich CaboCha in Python3 verfügbar machte, blieb ich stecken (Windows 10)
Bei Verwendung von optparse mit iPython
Ich habe python3.4 in .envrc mit direnv geschrieben und es zugelassen, aber ich habe einen Syntaxfehler erhalten
Beim Ausführen eines Programms mit dem Azure SDK für Python wurde "ModuleNotFoundError: Kein Modul mit dem Namen" Azure "" angezeigt
Eine Geschichte über die Installation von matplotlib mit pip mit einem Fehler
Verwenden eines Druckers mit Debian 10
Fehler beim Spielen mit Python
Ich habe einen SSL-Fehler erhalten, als ich Anaconda in einer neuen Umgebung installiert habe, also habe ich ihn behoben (Windows10, Anaconda3-2019.10).
Ich erhalte einen Betriebssystemfehler: [Errno 8] Fehler beim Ausführen des Formats, wenn eine Flask-Anwendung mit einem Python-Befehl ausgeführt wird
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Ein Memorandum beim automatischen Erwerb mit Selen
Eine Geschichte, die ich behoben habe, als ich das Lambda-Protokoll von Cloudwatch Logs erhalten habe
Ich habe eine Fehlermeldung erhalten, als ich Composer Global Require Laravel / Installer ausgeführt habe
Wenn ich eine Fehlermeldung mit Pylint unter Windows Atom erhalte
Beim Versuch, maec 4.0.1.0 mit pip zu installieren, wird eine Fehlermeldung angezeigt
[Python] Fehler- und Lösungsnotiz bei Verwendung von venv mit pyenv + anaconda
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Bei Verwendung des Apollo-Verbunds mit gqlgen kann keine Bindung an einen Schnittstellenfehler hergestellt werden
[Django] Fehler bei Verwendung des Q-Objekts (Zugehöriges Feld hat ungültige Suche erhalten)
Bei Verwendung von @property in Python wird ein Attribut nicht festgelegt
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
"Wertfehler: Handler'file_output_handler 'kann nicht konfiguriert werden" beim Starten eines Python-Programms
Ich habe einen Pokerspielserver Chat-Holdem mit Websocket mit Python erstellt
Ich habe eine Fehlermeldung erhalten, als ich Meteor Add Accounts-Passwort ausgeführt habe
Worauf ich bei der Verwendung von CodeIgniter auf einem Linux-Server gestoßen bin
Wenn ein _sqlite3-Fehler in der Abdeckung auftritt
Ein Memorandum bei der Verwendung von schöner Suppe
Ich habe einen Line-Bot mit Python gemacht!
Ich habe mit Python eine Lotterie gemacht.
Ich habe mit Python einen Daemon erstellt
Verwenden einer Webkamera mit Raspberry Pi
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
Ich kenne den Wertfehler nicht
Beim Versuch, Xgboost und seine Lösung zu installieren, ist ein Fehler aufgetreten
Umgang mit OAuth2-Fehlern bei Verwendung von Google APIs aus Python
Wenn Sie eine Spalte spaltenweise durch einen fehlenden Wert (NaN) ersetzen möchten
Ich habe einen SSL-bezogenen Fehler bei der Pip-Installation erhalten und ihn behoben.