Was sind all die japanischen whitespace-Zeichen?

Muss ich aufteilen einer Zeichenfolge extrahieren und Wörter getrennt durch Leerzeichen.Die Quelle kann in Englisch oder Japanisch. Englisch whitespace-Zeichen sind tab und space, und der japanische text verwendet, auch diese. (Wenn ich mich Recht erinnere, in allen gängigen japanischen Zeichensätze sind Obermengen von US-ASCII.)

Also die Menge der Zeichen, die ich brauche, zu verwenden, um split-mein string enthält normale ASCII-Leerzeichen und tab.

Aber im japanischen gibt es ein weiteres Leerzeichen, die gemeinhin als ein "full-width space". Laut meinem Mac ist Charakter-Viewer-Dienstprogramm, das ist U+3000 "IDEOGRAPHIC SPACE". Dies ist (normalerweise) was ergibt sich, wenn ein Benutzer drückt die Leertaste, während Sie Tippen in der japanischen Eingabe-Modus.

Gibt es irgendwelche andere Zeichen, die ich beachten muss?

Ich bin der Verarbeitung von textuellen Daten, die von Benutzern gesendet, die haben gesagt, daß Sie "separate Einträge mit Leerzeichen". Allerdings werden die Benutzer mit einer Vielzahl von computer-und Handy-Betriebssysteme zu behaupten, dass diese Texte. Wir haben bereits gesehen, dass die Benutzer möglicherweise nicht bewusst, ob Sie in Englisch oder Japanisch-input-Modus bei der Eingabe dieser Daten.

Darüber hinaus das Verhalten der space-Taste unterscheidet sich zwischen Plattformen und Anwendungen auch in der japanischen mode (z.B. Windows 7 legen Sie eine ideografische Raum, sondern iOS fügt ein ASCII-Leerzeichen).

Also was ich will ist im Grunde "die Menge aller Zeichen, die optisch Aussehen wie ein Raum, und generiert werden könnten, wenn der Benutzer drückt die Leertaste oder die tab-Taste, da viele Nutzer nicht wissen, den Unterschied zwischen einem Leerzeichen und einem tab, in Japanisch und/oder Englisch".

Gibt es eine verlässliche Antwort auf eine solche Frage?

  • Sollte nicht jeder Programmiersprache mit der richtigen Unicode-Unterstützung nur lassen Sie split ein string (mit regex) auf Leerzeichen? Zum Beispiel - /\s/ entspricht whitespace-Zeichen in JavaScript (entspricht [ \f\n\r\t\v\u00A0\u2028\u2029]).
  • Matt: Der regex, den du zitiert hast ist schon fehlende \u3000 und die OP ist, Fragen, was sonst vielleicht fehlen. Die Unicode-Trennzeichen-space-Liste hat 18 Einträge: fileformat.info/info/unicode/category/Zs/list.htm
  • Matt: Yeah, ich wünschte, aber die Vorstellung, dass JavaScript (und überraschend, selbst Ruby) hat über das, was ist generic 'whitespace' nicht enthalten Japanisch whitespace-character(s?). Frank: danke für diesen link, stochern manuell in meinem Unicode-viewer musste ich stolperte über EM RAUM, BILD RAUM und Freunden, aber hatte nicht auf OGHAM RAUM DANEBEN oder MONGOLIAN VOWEL SEPARATOR...
  • Ist diese in voller Breite ein Leerzeichen verwendet für die tokenisierung japanischen text? Wenn nicht, dann wie in der Welt tun Sie tokenisierung japanischen text?
  • FWIW, ich habe gesehen \uFFE3 (überstrichen) als ein full-width-Raum als auch (in der freien Wildbahn, auf der japanischen web).
  • Japanischen text fast nie whitespace-Zeichen (außer Zeilenumbrüchen). Tokenization und-Analyse wird durchgeführt unter Verwendung von machine learning-Methoden wie conditional random fields (CRF), trainiert mit Daten versehen wurde, mit part-of-speech-Informationen.
  • tokenisierung japanische text ist schwer. Ja, Sie haben einen Punkt (full stop) Art der Zeichensetzung jedoch ist es eher verwendet, um mehrere Sätze, formulieren eine Idee (denken Absatz). AFAIK werden die Wörter in der Regel mit Token mit einer Trie-Datenstruktur, oder etwas ähnliches, aber Sie haben zu berücksichtigen, den Kontext des Satzes richtig zu erkennen, das eigentliche Wort wird in Token aufgeteilt.

InformationsquelleAutor Mason | 2010-11-29
Schreibe einen Kommentar