Lorsqu'une phrase japonaise est soumise à une analyse morphologique, des espaces, des signes de ponctuation, des balises HTML, etc. dans la phrase interfèrent avec l'analyse. Par conséquent, le traitement de nettoyage est appliqué pour ne laisser que les informations nécessaires à l'analyse morphologique.
OS: Windows 7 Langue: Java
<td><tr>
Si la balise HTML reste, les contenus "td", "tr", etc. peuvent être reconnus comme des mots, supprimez-les donc. Si vous collez les phrases supprimées ensemble, vous risquez de vous retrouver avec des mots étranges, alors ajoutez un symbole de rupture de mot (ici, "/").
sample
Pattern.compile("<.*?>").matcher(sentence).replaceAll("/");
Exemple: \
\ Volume 1 \ </ td> \ A propos du mouvement d'un objet \ </ td>; ⇒ // Volume 1 // A propos du mouvement des objets / 2. Unification des angles pleins et demi
AabB12345 Aiueokakikukeko
Les phrases dans lesquelles une demi-largeur pleine largeur d'alphabets, une demi-largeur pleine largeur de nombres et une demi-largeur pleine largeur de katakana sont mélangées ne sont pas bonnes pour les données et l'apparence, alors unifiez-les à l'une ou l'autre.
sample
Normalizer.normalize(sentence, Normalizer.Form.NFKC);
Le normaliseur qui peut être utilisé à partir de java6 est pratique Avec le processus ci-dessus ・ Alphabet pleine largeur ⇒ Alphabet demi-largeur ・ Nombre pleine largeur ⇒ Nombre demi-largeur ・ Katakana demi-largeur ⇒ Katakana pleine largeur Peut être converti en. (Les symboles sont également convertis de la pleine largeur à la demi-largeur)
Exemple: AbB12345 Aikaki ⇒ AabB12345 Aikaki
3. 3. Suppression des symboles et des espaces
Que dois-je faire aujourd'hui? ..
S'il reste un espace dans la phrase, il ne sera pas reconnu comme un saut de mot lors de l'analyse morphologique. Les symboles apparaissant fréquemment tels que "." Sont sujets au bruit lors de l'analyse morphologique. Comme pour le traitement des balises, si vous collez les phrases supprimées ensemble, vous risquez de vous retrouver avec des mots étranges, alors ajoutez un symbole de rupture de mot.
sample
Pattern.compile("[\\p{Punct}!! "# $% & '() = ~ |' {+ *} <>? _- ^ \ @" ;: ",. ・]+").matcher(sentence).replaceAll("/");
Exemple: que dois-je faire aujourd'hui? .. ⇒ Aujourd'hui / que faire /
- \\ p {Punct} indique l'un des caractères de ponctuation:! "# $% & '() * +, -. /:; <=>? @ [] ^ _` {|} ~ ..
- Les symboles sont profondément sombres et cette méthode de traitement ne prend généralement en charge que les symboles qui apparaissent dans les phrases.
Référence: https://www.slideshare.net/tsudaa/ss-36658329 http://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2
Recommended Posts