From 4364a61db9688a9c60f7b34a691b83764b726e05 Mon Sep 17 00:00:00 2001 From: DoodleBears Date: Thu, 17 Oct 2024 05:31:45 +0900 Subject: [PATCH 1/2] fix(splitter): add special merge for text mixed with Chinese and Japanese --- split_lang/split/splitter.py | 89 +++++++++++++++++++++++- tests/data/correct_split.txt | 3 +- tests/data/test_data.py | 108 ++++++++++++++++++++++++++++++ tests/test_split_to_substrings.py | 10 +-- 4 files changed, 203 insertions(+), 7 deletions(-) diff --git a/split_lang/split/splitter.py b/split_lang/split/splitter.py index 35b3edf..b23e846 100644 --- a/split_lang/split/splitter.py +++ b/split_lang/split/splitter.py @@ -29,7 +29,9 @@ def __init__( default_lang: str = DEFAULT_LANG, punctuation: str = PUNCTUATION, not_merge_punctuation: str = "\n", + special_merge_for_zh_ja: bool = True, merge_across_punctuation: bool = True, + merge_across_newline: bool = True, merge_across_digit: bool = True, debug: bool = False, ) -> None: @@ -52,6 +54,8 @@ def __init__( self.debug = debug self.punctuation = punctuation self.not_merge_punctuation = not_merge_punctuation + self.merge_across_newline = merge_across_newline + self.special_merge_for_zh_ja = special_merge_for_zh_ja self.merge_across_punctuation = merge_across_punctuation self.merge_across_digit = merge_across_digit @@ -77,7 +81,6 @@ def split_by_lang( for section in sections: substrings.extend(section.substrings) substrings = self._merge_digit(substrings=substrings) - if self.merge_across_digit: substrings = self._merge_substring_across_digit(substrings=substrings) @@ -85,6 +88,12 @@ def split_by_lang( substrings = self._merge_substrings_across_punctuation( substrings=substrings, ) + if self.merge_across_newline: + substrings = self._merge_substrings_across_newline( + substrings=substrings, + ) + if self.special_merge_for_zh_ja: + substrings = self._special_merge_for_zh_ja(substrings=substrings) return substrings @@ -586,6 +595,84 @@ def _merge_digit( new_substrings = self._merge_substrings(substrings=substrings) return new_substrings + def _merge_substrings_across_newline( + self, + substrings: List[SubString], + ) -> List[SubString]: + new_substrings: List[SubString] = [] + last_lang = "" + for index in range(len(substrings)): + if ( + last_lang == substrings[index].lang + or substrings[index].lang == "newline" + ): + new_substrings[-1].text += substrings[index].text + new_substrings[-1].length += substrings[index].length + else: + new_substrings.append(substrings[index]) + last_lang = substrings[index].lang + return new_substrings + + # MARK: _special_merge_for_zh_ja + + def _special_merge_for_zh_ja( + self, + substrings: List[SubString], + ) -> List[SubString]: + new_substrings: List[SubString] = [] + # TODO: 如果遇到两边的语言相同,即 ABA,且两边的 A 的长度合计加起来大于中间的 B 的长度的10倍,则合并 + + for index in range(len(substrings)): + current_block = substrings[index] + if index == 0: + if ( + substrings[index + 1].lang in ["zh", "ja"] + and substrings[index].lang in ["zh", "ja", "x"] + and substrings[index].length * 10 < substrings[index + 1].length + ): + right_block = substrings[index + 1] + new_substrings.append( + SubString( + is_digit=False, + is_punctuation=False, + lang=right_block.lang, + text=current_block.text + right_block.text, + length=current_block.length + right_block.length, + index=current_block.index, + ) + ) + index += 1 + else: + new_substrings.append(current_block) + + elif index == len(substrings) - 1: + left_block = new_substrings[-1] + if ( + left_block.lang in ["zh", "ja"] + and current_block.lang in ["zh", "ja", "x"] + and current_block.length * 10 < left_block.length + ): + new_substrings[-1].text += current_block.text + new_substrings[-1].length += current_block.length + + index += 1 + else: + if ( + new_substrings[-1].lang == substrings[index + 1].lang + and new_substrings[-1].lang in ["zh", "ja"] + and substrings[index].length * 10 + < new_substrings[-1].length + substrings[index + 1].length + ): + left_block = new_substrings[-1] + right_block = substrings[index + 1] + current_block = substrings[index] + new_substrings[-1].text += current_block.text + right_block.text + new_substrings[-1].length += ( + current_block.length + right_block.length + ) + index += 1 + return new_substrings + # MARK: _merge_substring_across_digit def _merge_substring_across_digit( self, diff --git a/tests/data/correct_split.txt b/tests/data/correct_split.txt index 7f6a1d8..cdd899e 100644 --- a/tests/data/correct_split.txt +++ b/tests/data/correct_split.txt @@ -26,4 +26,5 @@ Bonjour|, |wie geht's dir |today|? Vielen Dank |merci beaucoup |for your help|. Ich bin müde |je suis fatigué |and I need some rest|. Ich mag dieses Buch |ce livre est intéressant |and it has a great story|. -Ich mag dieses Buch|, |ce livre est intéressant|, |and it has a great story|. \ No newline at end of file +Ich mag dieses Buch|, |ce livre est intéressant|, |and it has a great story|. +入学早々隣のクラスの絵奈は男子からの人気者。新入生代表の挨拶も絵奈だったから目立ってしまって余計にあの子誰?ってなった。絵奈と私には近所に住む幼稚園の頃から仲の良い幼なじみの澤村 和樹(さわむら かずき)という同じ中学の同級生でもある男子生徒がいる。絵奈も私もかずくんと呼んでいる。かずくんは小学1年生の頃からサッカーをやっていて、高学年になる頃には県の選抜に選ばれたりと、丸山台中の新入生では期待の星。何でユースとかにいかないで、公立の中学校でサッカー部なのかはわからない。かずくんとは絵奈より私の方が話が合うことが多かった。小学生の頃もよく3人で遊んだりもしたし、中学生になってからも3人で朝一緒に行こうなんて約束していた。迎えた入学式後の初登校日。「忘れ物とかない?気を付けて行くんだよ。急がなくても充分間に合うからね。」私にだけそう言ったママ。絵奈には「いってらっしゃい」だけ。(二人とも一緒に行くのに、私だけ落ち着きないみたいに思われてる…?)「ほら、早く行くよ。ママ、いってきます♪」私の横で姉の絵奈が私に向かってそう言うと、ママには笑顔で挨拶をしていた。そそくさと出てしまう絵奈。「ちょ、ちょっと(汗)充分間に合うからねってママ言ってるじゃん(汗)んじゃいってきま〜す!」そう言って、私も絵奈の後を急いで追う。外に出るとかずくんがちょっと遠くから歩いてきているのが見えたので、私は大声で手を振って呼んだ。「かずく〜ん!!おはよー!!」私の大声に気づいたかずくんは走ってきた。「よぉ!!絵奈と残念な方の妹!(笑)」(こいつ…面白がってやがるな…)絵奈が新入生代表で目立ってしまって、私は自分のクラスで残念な方の妹だと、昨日、ふざけた男子に言われたのだ…そしてかずくんと私は同じクラスなのでそれを面白がって言ってきたのだろう…うるせぇーよって言ってやろうと思ったら、私より先に絵奈が口を開いた。「かずくん、残念な方の妹って何?」絵奈に聞かれるとちょっとバツが悪そうなかずくんが渋々答える。「いや、その、実は俺達のクラスで、ふざけて紗羅が残念な方の妹って男子にからかわれてたんだよ(汗)」「は?で、かずくんも面白がって、そんなこと言ってるわけ?くだらないことやめなよ。そういう時は普通、助ける男がカッコいいんでしょ。一緒になって紗羅が気にしてないからって最悪だよ。」絵奈はどちらかと言うと温厚で優しいタイプなのに少し怒っているように言ったので、かずくんはしょんぼり、私も珍しく絵奈が怒っているので少しびっくりした…3人でちょっと気まずくなって歩くのに耐えられない私が絵奈に言った。「まぁまぁ、そんなツンケンしないでさ(汗)絵奈らしくないよ?かずくんも悪気があって言ったわけじゃないんだし、許してあげなよ(笑)」「私らしいって何?紗羅は悔しくないの?残念な方の妹とか言われて。そもそも紗羅がそんなお気楽な感じだから駄目なんでしょ(怒)私は紗羅が悪口言われてたら自分のことのように面白くないよ(怒)」(怒りの矛先が私に向き始めたな…)絵奈は温厚で優しく優等生タイプだけど、怒るとちょっと面倒くさいタイプ…何日も根に持つし、頑固なところもある。私は対照的でカッとなっても、1日経てばそんなこと忘れてるし、あんまり根に持つこともない。頑固な所は同じかもしれないけど。怒り出すと絵奈をなだめるのは結構大変…普段あんまり怒らないタイプだから、かもしれないけど…「そのさ、絵奈は私と違っておとなしめな品のあるタイプなんだから、あんまりカッカしてるとイメージ崩れるよ?なんちゃって(笑)かずくんも少しびっくりしてるでしょ(汗)ほらほら、せっかく入学して登校初日なのに空気悪いのおしまいにして楽しく行こうよ♪(笑)」一応、私がそう言うとカッカしてた絵奈も機嫌を少し直してくれて、かずくんもごめんって謝って一件落着し、その後は仲良く登校し中学校へ無事に到着。「んじゃまた帰りね〜♪」そう言って、絵奈とは別々の教室へ。私はかずくんと同じクラスへ入る。先生が来て、授業が始まる。勉強は嫌いだ…(今日の給食なんだっけかなぁ〜)なんて授業に集中していないと見事に先生に当てられているのに気づかない。隣の席のかずくんが小さな声で「おーい。紗羅。おーい」って言っているのに気づく。(ん?何?教科書忘れたのかこいつは本当にサッカーしかできない奴だからなぁ。しょうがないなぁ)机をくっつけて教科書を見せてやろうとするとかずくんはオドオドする。「ちげーよ(汗)紗羅(汗)」また小さな声でかずくんが言った後には怒った先生が私の目の前にいた…「山本、お前何やってんだ?あくびしたり、外をボケーっと見てたり。同じ山本のお前の姉とは大違いだな。」先生は不機嫌そうに言う。(すいませんね〜絵奈だったら、ちゃんと授業聞いてるんでしょうね〜私は残念な方の妹なので(笑))なんて怒られているはずなのに思っていると、朝、絵奈から怒られたからか、かずくんが私を庇った。「その、先生。絵奈は絵奈。紗羅は紗羅ですよ。」かずくんの言葉に先生もちょっと悪いと思ったのか、ブツブツ言いながら戻っていき、私がボケーっとしていたことは流されて終わった。(おぉーかずくんが助けてくれた(笑)もしかして、絵奈に朝怒られたから?もしかして、かずくんも昔から絵奈のことが…いや、考えるのはやめよう。私達3人は幼馴染。変に関係がおかしくなるのも嫌だし。)なんてふと思った。そして、この先、私達3人の関係は壊れていくことにこの時は気づかなかった… \ No newline at end of file diff --git a/tests/data/test_data.py b/tests/data/test_data.py index a069ec1..0d079fa 100644 --- a/tests/data/test_data.py +++ b/tests/data/test_data.py @@ -60,4 +60,112 @@ 123. abc 233""", + """入学早々隣のクラスの絵奈は男子からの人気者。 + +新入生代表の挨拶も絵奈だったから目立ってしまって余計にあの子誰?ってなった。 + +絵奈と私には近所に住む幼稚園の頃から仲の良い幼なじみの澤村 和樹(さわむら かずき)という同じ中学の同級生でもある男子生徒がいる。 + +絵奈も私もかずくんと呼んでいる。 + +かずくんは小学1年生の頃からサッカーをやっていて、高学年になる頃には県の選抜に選ばれたりと、丸山台中の新入生では期待の星。 + +何でユースとかにいかないで、公立の中学校でサッカー部なのかはわからない。 + +かずくんとは絵奈より私の方が話が合うことが多かった。 + +小学生の頃もよく3人で遊んだりもしたし、中学生になってからも3人で朝一緒に行こうなんて約束していた。 + +迎えた入学式後の初登校日。 + +「忘れ物とかない?気を付けて行くんだよ。急がなくても充分間に合うからね。」私にだけそう言ったママ。 + +絵奈には「いってらっしゃい」だけ。 + +(二人とも一緒に行くのに、私だけ落ち着きないみたいに思われてる…?) + +「ほら、早く行くよ。ママ、いってきます♪」 +私の横で姉の絵奈が私に向かってそう言うと、ママには笑顔で挨拶をしていた。 + +そそくさと出てしまう絵奈。 + +「ちょ、ちょっと(汗)充分間に合うからねってママ言ってるじゃん(汗)んじゃいってきま〜す!」 + +そう言って、私も絵奈の後を急いで追う。 + +外に出るとかずくんがちょっと遠くから歩いてきているのが見えたので、私は大声で手を振って呼んだ。 + +「かずく〜ん!!おはよー!!」 + +私の大声に気づいたかずくんは走ってきた。 + +「よぉ!!絵奈と残念な方の妹!(笑)」 + +(こいつ…面白がってやがるな…) + +絵奈が新入生代表で目立ってしまって、私は自分のクラスで残念な方の妹だと、昨日、ふざけた男子に言われたのだ… + +そしてかずくんと私は同じクラスなのでそれを面白がって言ってきたのだろう… + +うるせぇーよって言ってやろうと思ったら、私より先に絵奈が口を開いた。 + +「かずくん、残念な方の妹って何?」 + +絵奈に聞かれるとちょっとバツが悪そうなかずくんが渋々答える。 + +「いや、その、実は俺達のクラスで、ふざけて紗羅が残念な方の妹って男子にからかわれてたんだよ(汗)」 + +「は?で、かずくんも面白がって、そんなこと言ってるわけ?くだらないことやめなよ。そういう時は普通、助ける男がカッコいいんでしょ。一緒になって紗羅が気にしてないからって最悪だよ。」 + +絵奈はどちらかと言うと温厚で優しいタイプなのに少し怒っているように言ったので、かずくんはしょんぼり、私も珍しく絵奈が怒っているので少しびっくりした… + +3人でちょっと気まずくなって歩くのに耐えられない私が絵奈に言った。 + +「まぁまぁ、そんなツンケンしないでさ(汗)絵奈らしくないよ?かずくんも悪気があって言ったわけじゃないんだし、許してあげなよ(笑)」 + +「私らしいって何?紗羅は悔しくないの?残念な方の妹とか言われて。そもそも紗羅がそんなお気楽な感じだから駄目なんでしょ(怒)私は紗羅が悪口言われてたら自分のことのように面白くないよ(怒)」 + +(怒りの矛先が私に向き始めたな…) + +絵奈は温厚で優しく優等生タイプだけど、怒るとちょっと面倒くさいタイプ…何日も根に持つし、頑固なところもある。 + +私は対照的でカッとなっても、1日経てばそんなこと忘れてるし、あんまり根に持つこともない。頑固な所は同じかもしれないけど。 + +怒り出すと絵奈をなだめるのは結構大変…普段あんまり怒らないタイプだから、かもしれないけど… + +「そのさ、絵奈は私と違っておとなしめな品のあるタイプなんだから、あんまりカッカしてるとイメージ崩れるよ?なんちゃって(笑)かずくんも少しびっくりしてるでしょ(汗)ほらほら、せっかく入学して登校初日なのに空気悪いのおしまいにして楽しく行こうよ♪(笑)」 + +一応、私がそう言うとカッカしてた絵奈も機嫌を少し直してくれて、かずくんもごめんって謝って一件落着し、その後は仲良く登校し中学校へ無事に到着。 + +「んじゃまた帰りね〜♪」そう言って、絵奈とは別々の教室へ。私はかずくんと同じクラスへ入る。 + +先生が来て、授業が始まる。 + +勉強は嫌いだ… + +(今日の給食なんだっけかなぁ〜) + +なんて授業に集中していないと見事に先生に当てられているのに気づかない。 + +隣の席のかずくんが小さな声で「おーい。紗羅。おーい」って言っているのに気づく。 + +(ん?何?教科書忘れたのかこいつは本当にサッカーしかできない奴だからなぁ。しょうがないなぁ) + +机をくっつけて教科書を見せてやろうとするとかずくんはオドオドする。 + +「ちげーよ(汗)紗羅(汗)」また小さな声でかずくんが言った後には怒った先生が私の目の前にいた… + +「山本、お前何やってんだ?あくびしたり、外をボケーっと見てたり。同じ山本のお前の姉とは大違いだな。」 + +先生は不機嫌そうに言う。 + +(すいませんね〜絵奈だったら、ちゃんと授業聞いてるんでしょうね〜私は残念な方の妹なので(笑))なんて怒られているはずなのに思っていると、朝、絵奈から怒られたからか、かずくんが私を庇った。 + +「その、先生。絵奈は絵奈。紗羅は紗羅ですよ。」 + +かずくんの言葉に先生もちょっと悪いと思ったのか、ブツブツ言いながら戻っていき、私がボケーっとしていたことは流されて終わった。 + +(おぉーかずくんが助けてくれた(笑)もしかして、絵奈に朝怒られたから?もしかして、かずくんも昔から絵奈のことが…いや、考えるのはやめよう。私達3人は幼馴染。変に関係がおかしくなるのも嫌だし。)なんてふと思った。 + +そして、この先、私達3人の関係は壊れていくことにこの時は気づかなかった…""", ] diff --git a/tests/test_split_to_substrings.py b/tests/test_split_to_substrings.py index eba0692..39e99d3 100644 --- a/tests/test_split_to_substrings.py +++ b/tests/test_split_to_substrings.py @@ -6,7 +6,7 @@ texts_zh_jp_ko_en, ) -lang_splitter = LangSplitter() +lang_splitter = LangSplitter(special_merge_for_zh_ja=False) def test_split_to_substring(): @@ -55,14 +55,14 @@ def test_split_to_substring_newline(): substr = lang_splitter.split_by_lang( text=text, ) - for _, item in enumerate(substr): - print(item) - # print(f"{index}|{item.lang}:{item.text}") + for index, item in enumerate(substr): + # print(item) + print(f"{index}|{item.lang}:{item.text}") print("----------------------") def main(): - test_split_to_substring() + # test_split_to_substring() test_split_to_substring_newline() From baaf7dcbc7867fc93c22bf5b9879cdbf84208304 Mon Sep 17 00:00:00 2001 From: DoodleBears Date: Thu, 17 Oct 2024 06:57:42 +0900 Subject: [PATCH 2/2] fix(splitter): fix merge zh ja error --- split_lang/split/splitter.py | 59 +++++++++++++++++---------- tests/data/test_data.py | 3 ++ tests/test_split_to_substrings.py | 67 ++++++++++++++----------------- 3 files changed, 71 insertions(+), 58 deletions(-) diff --git a/split_lang/split/splitter.py b/split_lang/split/splitter.py index b23e846..0d2fe9d 100644 --- a/split_lang/split/splitter.py +++ b/split_lang/split/splitter.py @@ -81,6 +81,11 @@ def split_by_lang( for section in sections: substrings.extend(section.substrings) substrings = self._merge_digit(substrings=substrings) + + if self.merge_across_newline: + substrings = self._merge_substrings_across_newline( + substrings=substrings, + ) if self.merge_across_digit: substrings = self._merge_substring_across_digit(substrings=substrings) @@ -94,6 +99,7 @@ def split_by_lang( ) if self.special_merge_for_zh_ja: substrings = self._special_merge_for_zh_ja(substrings=substrings) + substrings = self._special_merge_for_zh_ja(substrings=substrings) return substrings @@ -620,6 +626,9 @@ def _special_merge_for_zh_ja( substrings: List[SubString], ) -> List[SubString]: new_substrings: List[SubString] = [] + + if len(substrings) == 1: + return substrings # TODO: 如果遇到两边的语言相同,即 ABA,且两边的 A 的长度合计加起来大于中间的 B 的长度的10倍,则合并 for index in range(len(substrings)): @@ -643,8 +652,7 @@ def _special_merge_for_zh_ja( ) index += 1 else: - new_substrings.append(current_block) - + new_substrings.append(substrings[index]) elif index == len(substrings) - 1: left_block = new_substrings[-1] if ( @@ -656,10 +664,14 @@ def _special_merge_for_zh_ja( new_substrings[-1].length += current_block.length index += 1 + else: + new_substrings.append(substrings[index]) else: if ( new_substrings[-1].lang == substrings[index + 1].lang and new_substrings[-1].lang in ["zh", "ja"] + # and substrings[index].lang in ["zh", "ja", "x"] + and substrings[index].lang != "en" and substrings[index].length * 10 < new_substrings[-1].length + substrings[index + 1].length ): @@ -671,6 +683,9 @@ def _special_merge_for_zh_ja( current_block.length + right_block.length ) index += 1 + else: + new_substrings.append(substrings[index]) + new_substrings = self._merge_substrings(substrings=new_substrings) return new_substrings # MARK: _merge_substring_across_digit @@ -679,32 +694,32 @@ def _merge_substring_across_digit( substrings: List[SubString], ) -> List[SubString]: new_substrings: List[SubString] = [] + last_lang = "" for _, substring in enumerate(substrings): - if substring.is_digit: - if ( - new_substrings - and new_substrings[-1].lang != "punctuation" - and new_substrings[-1].lang != "newline" - ): - new_substrings[-1].text += substring.text - new_substrings[-1].length += substring.length + if new_substrings: + if substring.is_digit: + if new_substrings[-1].is_digit: + new_substrings[-1].text += substring.text + new_substrings[-1].length += substring.length + else: + new_substrings[-1].text += substring.text + new_substrings[-1].length += substring.length else: - new_substrings.append(substring) + if substring.lang == last_lang or last_lang == "": + new_substrings[-1].text += substring.text + new_substrings[-1].length += substring.length + new_substrings[-1].lang = ( + substring.lang + if new_substrings[-1].lang == "digit" + else new_substrings[-1].lang + ) + else: + new_substrings.append(substring) + last_lang = substring.lang else: - if ( - new_substrings - and new_substrings[-1].lang == "digit" - and substring.lang != "newline" - ): - temp = new_substrings.pop() - temp.text = temp.text + substring.text - temp.index = temp.index - temp.length = temp.length + substring.length - substring = temp new_substrings.append(substring) - new_substrings = self._merge_substrings(substrings=new_substrings) return new_substrings # MARK: _merge_substrings_across_punctuation diff --git a/tests/data/test_data.py b/tests/data/test_data.py index 0d079fa..f51bb72 100644 --- a/tests/data/test_data.py +++ b/tests/data/test_data.py @@ -168,4 +168,7 @@ (おぉーかずくんが助けてくれた(笑)もしかして、絵奈に朝怒られたから?もしかして、かずくんも昔から絵奈のことが…いや、考えるのはやめよう。私達3人は幼馴染。変に関係がおかしくなるのも嫌だし。)なんてふと思った。 そして、この先、私達3人の関係は壊れていくことにこの時は気づかなかった…""", + """絵奈はどちらかと言うと温厚で優しいタイプなのに少し怒っているように言ったので、かずくんはしょんぼり、私も珍しく絵奈が怒っているので少しびっくりした… + +3人でちょっと気まずくなって歩くのに耐えられない私が絵奈に言った。""", ] diff --git a/tests/test_split_to_substrings.py b/tests/test_split_to_substrings.py index 39e99d3..f8d8010 100644 --- a/tests/test_split_to_substrings.py +++ b/tests/test_split_to_substrings.py @@ -1,12 +1,7 @@ from split_lang import LangSplitter -from tests.data.test_data import ( - texts_de_fr_en, - texts_with_digit, - texts_with_newline, - texts_zh_jp_ko_en, -) +from tests.data.test_data import texts_with_newline, texts_zh_jp_ko_en -lang_splitter = LangSplitter(special_merge_for_zh_ja=False) +lang_splitter = LangSplitter(special_merge_for_zh_ja=True) def test_split_to_substring(): @@ -19,35 +14,35 @@ def test_split_to_substring(): # print(f"{index}|{item.lang}:{item.text}") print("----------------------") - for text in texts_de_fr_en: - substr = lang_splitter.split_by_lang( - text=text, - ) - for _, item in enumerate(substr): - print(item) - # print(f"{index}|{item.lang}:{item.text}") - print("----------------------") + # for text in texts_de_fr_en: + # substr = lang_splitter.split_by_lang( + # text=text, + # ) + # for _, item in enumerate(substr): + # print(item) + # # print(f"{index}|{item.lang}:{item.text}") + # print("----------------------") - lang_splitter.merge_across_digit = False - for text in texts_with_digit: - substr = lang_splitter.split_by_lang( - text=text, - ) - for _, item in enumerate(substr): - print(item) - # print(f"{index}|{item.lang}:{item.text}") - print("----------------------") + # lang_splitter.merge_across_digit = False + # for text in texts_with_digit: + # substr = lang_splitter.split_by_lang( + # text=text, + # ) + # for _, item in enumerate(substr): + # print(item) + # # print(f"{index}|{item.lang}:{item.text}") + # print("----------------------") - lang_splitter.merge_across_digit = True - lang_splitter.merge_across_punctuation = True - for text in texts_with_digit: - substr = lang_splitter.split_by_lang( - text=text, - ) - for _, item in enumerate(substr): - print(item) - # print(f"{index}|{item.lang}:{item.text}") - print("----------------------") + # lang_splitter.merge_across_digit = True + # lang_splitter.merge_across_punctuation = True + # for text in texts_with_digit: + # substr = lang_splitter.split_by_lang( + # text=text, + # ) + # for _, item in enumerate(substr): + # print(item) + # # print(f"{index}|{item.lang}:{item.text}") + # print("----------------------") def test_split_to_substring_newline(): @@ -56,8 +51,8 @@ def test_split_to_substring_newline(): text=text, ) for index, item in enumerate(substr): - # print(item) - print(f"{index}|{item.lang}:{item.text}") + print(item) + # print(f"{index}|{item.lang}:{item.text}") print("----------------------")