Skip to content

Jeffrey0117/biaodian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ๆจ™้ปž Biaodian

้›ถไพ่ณดใ€็ด”่ฆๅ‰‡็š„ไธญๆ–‡ๆจ™้ปž็ฌฆ่™Ÿ่‡ชๅ‹•ๆขๅพฉๅทฅๅ…ท

ๅฐˆ็‚บ ASR๏ผˆ่ชž้Ÿณ่พจ่ญ˜๏ผ‰่ผธๅ‡บ่จญ่จˆ๏ผŒๅฐ‡็„กๆจ™้ปž็š„ไธญๆ–‡ๆ–‡ๆœฌ่ฝ‰ๆ›็‚บๆœ‰ๆจ™้ปž็š„ๅฏ่ฎ€ๆ–‡ๆœฌใ€‚

from biaodian import add_punctuation

text = "ๆˆ‘่ทŸไฝ ่ชชๅ•Š้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณไฝ ไธไฟก็š„่ฉฑไฝ ่‡ชๅทฑ่ฉฆ่ฉฆ็œ‹"
result = add_punctuation(text)
# ่ผธๅ‡บ: "ๆˆ‘่ทŸไฝ ่ชชๅ•Š๏ผŒ้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณ๏ผŒไฝ ไธไฟก็š„่ฉฑ๏ผŒไฝ ่‡ชๅทฑ่ฉฆ่ฉฆ็œ‹ใ€‚"

็‚บไป€้บผ้ธๆ“‡ Biaodian๏ผŸ

่ˆ‡ๆทฑๅบฆๅญธ็ฟ’ๆ–นๆกˆ็š„ๆฏ”่ผƒ

ๆทฑๅบฆๅญธ็ฟ’ๆ–นๆกˆ Biaodian
ไพ่ณด PyTorch/TensorFlow ๅช้œ€ re (Python ๅ…งๅปบ)
ๆจกๅž‹ๅคงๅฐ 200MB ~ 2GB 5KB
้€Ÿๅบฆ ้œ€่ฆ GPU ๆŽจ็† ๅณๆ™‚่™•็†
ๅฏ่งฃ้‡‹ๆ€ง ้ป‘็›’ๆจกๅž‹ ๆฏๆข่ฆๅ‰‡้ƒฝ็œ‹ๅพ—ๆ‡‚
ๅฏ่ชฟๆ•ด ้œ€่ฆ้‡ๆ–ฐ่จ“็ทด ๆ”น่ฉž่กจๅณๅฏ
้›ข็ทšไฝฟ็”จ ้œ€่ฆไธ‹่ผ‰ๆจกๅž‹ ้–‹็ฎฑๅณ็”จ

็พๆœ‰ๆ–นๆกˆ

้ …็›ฎ ๆ–นๅผ ๅ•้กŒ
FunASR ct-punc Transformer ้œ€่ฆ 500MB+ ๆจกๅž‹
punctuator RNN + Attention ่‹ฑๆ–‡็‚บไธป
BERT-CNN-RNN BERT ้œ€่ฆ GPU

Biaodian ๆ˜ฏ็›ฎๅ‰ๅ”ฏไธ€็š„็ด”่ฆๅ‰‡ไธญๆ–‡ๆจ™้ปžๆขๅพฉๆ–นๆกˆใ€‚

ๅฎ‰่ฃ

pip install biaodian

ๆˆ–็›ดๆŽฅ่ค‡่ฃฝ biaodian.py ๅˆฐไฝ ็š„ๅฐˆๆกˆใ€‚

ๅฟซ้€Ÿ้–‹ๅง‹

Python API

from biaodian import add_punctuation, add_punctuation_batch

# ๅ–ฎๅฅ่™•็†
result = add_punctuation("ๆˆ‘่ทŸไฝ ่ชชๅ•Š้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณ")
# "ๆˆ‘่ทŸไฝ ่ชชๅ•Š๏ผŒ้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณใ€‚"

# ๆ‰น้‡่™•็†
results = add_punctuation_batch([
    "้€™ๅ€‹ๅทฅๅ…ทๅฎŒๅ…จๅ…่ฒป",
    "ไฝ ็œ‹้€™ๆจฃๆ˜ฏไธๆ˜ฏๆฏ”่ผƒๅฅฝ"
])

# ็–‘ๅ•ๅฅ่‡ชๅ‹•่ญ˜ๅˆฅ
result = add_punctuation("ไฝ ็Ÿฅ้“้€™ๆ˜ฏไป€้บผๅ—Ž")
# "ไฝ ็Ÿฅ้“้€™ๆ˜ฏไป€้บผๅ—Ž๏ผŸ"

ๅ‘ฝไปคๅˆ—

# ็›ดๆŽฅ่™•็†
python -m biaodian "ๆˆ‘่ทŸไฝ ่ชชๅ•Š้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณ"

# ไบ’ๅ‹•ๆจกๅผ
python -m biaodian

ๆ“ดๅฑ•่ฆๅ‰‡

from biaodian import add_particle, add_sentence_starter, add_question_word

# ๆทปๅŠ ่ชžๆฐฃ่ฉž๏ผˆๅพŒ้ขๆœƒๅŠ ้€—่™Ÿ๏ผ‰
add_particle("่€ถ")

# ๆทปๅŠ ้€ฃๆŽฅ่ฉž๏ผˆๅ‰้ขๆœƒๅŠ ้€—่™Ÿ๏ผ‰
add_sentence_starter("็ตๆžœ")

# ๆทปๅŠ ็–‘ๅ•่ฉž๏ผˆๅฅๅญๆœƒ่ฎŠๅ•ๅฅ๏ผ‰
add_question_word("้›ฃ้“")

่ฆๅ‰‡็ณป็ตฑ

Biaodian ไฝฟ็”จๅ››็จฎ่ฆๅ‰‡้กžๅž‹๏ผš

1. ่ชžๆฐฃ่ฉž โ†’ ๅพŒ้ขๅŠ ้€—่™Ÿ

ๅ˜›ใ€ๅ•ฆใ€ๅ‘€ใ€ๅ›‰ใ€ๅ•Šใ€ๅ–”ใ€ๅ—ฏใ€ๅ‘ƒ...

2. ้€ฃๆŽฅ่ฉž โ†’ ๅ‰้ขๅŠ ้€—่™Ÿ

็„ถๅพŒใ€ไฝ†ๆ˜ฏใ€ๆ‰€ไปฅใ€้›–็„ถใ€ๅ…ถๅฏฆใ€้ฆ–ๅ…ˆใ€ๅฆๅค–...
ๆˆ‘ๅฐฑใ€ไฝ ไนŸใ€ไป–ๆ‰ใ€ๅฅน้ƒฝ...๏ผˆไธป่ฉž+ๅ‰ฏ่ฉž็ต„ๅˆ๏ผ‰

3. ็ตๆง‹ๆ€งๆ–ทๅฅ

็•ถ...็š„ๆ™‚ๅ€™ โ†’ ๅพŒ้ขๅŠ ้€—่™Ÿ
ๅฆ‚ๆžœ...็š„่ฉฑ โ†’ ๅพŒ้ขๅŠ ้€—่™Ÿ
ๆฏ็•ถใ€ๆฏๆฌกใ€ๆฏๅ›ž โ†’ ๅ‰้ขๅŠ ้€—่™Ÿ

4. ๅฅๆœซๆจ™้ปž

ๅซ็–‘ๅ•่ฉž๏ผˆไป€้บผใ€ๆ€Ž้บผใ€็‚บไป€้บผ...๏ผ‰โ†’ ๅŠ ๅ•่™Ÿ
ๅ…ถไป– โ†’ ๅŠ ๅฅ่™Ÿ

ๅฎŒๆ•ด่ฆๅ‰‡ๆ–‡ๆช”๏ผšRULES.md

ๆ•ˆๆžœๅฑ•็คบ

่ผธๅ…ฅ ่ผธๅ‡บ
ๆˆ‘่ทŸไฝ ่ชชๅ•Š้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณ ๆˆ‘่ทŸไฝ ่ชชๅ•Š๏ผŒ้€™ๅ€‹ๆฑ่ฅฟ็œŸ็š„ๅพˆๅŽฒๅฎณใ€‚
้€™ๅ€‹ๅทฅๅ…ทๅฎŒๅ…จๅ…่ฒปไฝ†ๆ˜ฏๆœ‰ๆฏๅคฉไธ€่ฌๅญ—็š„้กๅบฆ ้€™ๅ€‹ๅทฅๅ…ทๅฎŒๅ…จๅ…่ฒป๏ผŒไฝ†ๆ˜ฏๆœ‰ๆฏๅคฉไธ€่ฌๅญ—็š„้กๅบฆใ€‚
ไฝ ็œ‹้€™ๆจฃๆ˜ฏไธๆ˜ฏๆฏ”่ผƒๅฅฝๅฆ‚ๆžœไธ่กŒ็š„่ฉฑๆˆ‘ๅ€‘ๅ†ๆ”น ไฝ ็œ‹้€™ๆจฃๆ˜ฏไธๆ˜ฏๆฏ”่ผƒๅฅฝ๏ผŒๅฆ‚ๆžœไธ่กŒ็š„่ฉฑ๏ผŒๆˆ‘ๅ€‘ๅ†ๆ”น๏ผŸ
ๆฏ็•ถๆˆ‘ๆƒณ่ตทไฝ ็š„ๆ™‚ๅ€™ๅฟƒ่ฃกๅฐฑๆœƒ้›ฃ้Ž ๆฏ็•ถๆˆ‘ๆƒณ่ตทไฝ ็š„ๆ™‚ๅ€™๏ผŒๅฟƒ่ฃกๅฐฑๆœƒ้›ฃ้Žใ€‚

่ทฏ็ทšๅœ–

Phase 1: ๆ ธๅฟƒๅŠŸ่ƒฝ โœ…

  • ่ฆๅ‰‡ๅผๆจ™้ปžๆขๅพฉ
  • ็น็ฐก้ซ”ไธญๆ–‡ๆ”ฏๆด
  • Python API
  • ๅ‘ฝไปคๅˆ—ๅทฅๅ…ท

Phase 2: ่ฆๅ‰‡ๆ“ดๅฑ•ๅนณๅฐ

  • Web ไป‹้ข๏ผšๅณๆ™‚ๆธฌ่ฉฆๆจ™้ปžๆ•ˆๆžœ
  • ่ฆๅ‰‡็ทจ่ผฏๅ™จ๏ผš่ฆ–่ฆบๅŒ–ๆทปๅŠ /ไฟฎๆ”น่ฆๅ‰‡
  • ็ตฑ่จˆ้ขๆฟ๏ผš้กฏ็คบๅ„่ฆๅ‰‡็š„่งธ็™ผ้ ป็އ

Phase 3: ่ชžๆ–™ๅญธ็ฟ’็ณป็ตฑ

  • ๅฐ่ชช็ˆฌ่Ÿฒ๏ผš่‡ชๅ‹•็ˆฌๅ–ๅฐ่ชช็ถฒ็ซ™
  • ๆจกๅผๆๅ–๏ผš็ตฑ่จˆใ€Œ่ฉž+ๆจ™้ปžใ€ๅ‡บ็พ้ ป็އ
  • ไบบๅทฅๅฏฉๆ ธ๏ผšๅ€™้ธ่ฆๅ‰‡ๅฏฉๆ ธไป‹้ข
  • ่‡ชๅ‹•ๆ›ดๆ–ฐ๏ผš้€š้Žๅฏฉๆ ธ็š„่ฆๅ‰‡่‡ชๅ‹•ๅŠ ๅ…ฅ่ฉž่กจ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๆจ™้ปž่ฆๅ‰‡่จ“็ทด็ณป็ตฑ                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  ็ˆฌ่Ÿฒๆจก็ต„          Web ไป‹้ข           ่ฆๅ‰‡ๅผ•ๆ“Ž          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚  โ”‚ ๅฐ่ชช็ถฒ็ซ™   โ”‚โ”€โ”€โ”€โ–ถโ”‚ ๆจ™่จปไป‹้ข   โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚ biaodian  โ”‚     โ”‚
โ”‚  โ”‚ ่ตท้ปž/ๆ™‰ๆฑŸ  โ”‚    โ”‚ ๅฏฉๆ ธ่ฆๅ‰‡   โ”‚     โ”‚   .py     โ”‚     โ”‚
โ”‚  โ”‚ ...       โ”‚    โ”‚ ็ตฑ่จˆๅˆ†ๆž   โ”‚     โ”‚           โ”‚     โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ”‚                                                         โ”‚
โ”‚  ๆต็จ‹๏ผš                                                 โ”‚
โ”‚  ็ˆฌๅฐ่ชช โ†’ ๆๅ–ใ€Œ่ฉž+ๆจ™้ปžใ€ๆจกๅผ โ†’ ไบบๅทฅๅฏฉๆ ธ โ†’ ๅŠ ๅ…ฅ่ฆๅ‰‡     โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Phase 4: ้€ฒ้šŽๅŠŸ่ƒฝ

  • ๅผ•่™Ÿ้…ๅฐ๏ผš่ญ˜ๅˆฅๅฐ่ฉฑ๏ผŒ่‡ชๅ‹•ๅŠ ๅผ•่™Ÿ
  • ้ “่™Ÿ่™•็†๏ผšๅˆ—่ˆ‰้ …็›ฎ้–“็”จ้ “่™Ÿ
  • ๅˆ†่™Ÿ่™•็†๏ผšไธฆๅˆ—้•ทๅฅ็”จๅˆ†่™Ÿ
  • ่‡ช่จ‚่ฆๅ‰‡ๆช”๏ผšๆ”ฏๆด JSON/YAML ๆ ผๅผ่ผ‰ๅ…ฅ

ๆ‡‰็”จๅ ดๆ™ฏ

  • ่ชž้Ÿณ่พจ่ญ˜ๅพŒ่™•็†๏ผšASR ่ผธๅ‡บ้€šๅธธๆฒ’ๆœ‰ๆจ™้ปž
  • ๅญ—ๅน•็”Ÿๆˆ๏ผš่‡ชๅ‹•็‚บๅญ—ๅน•ๆทปๅŠ ๆจ™้ปž
  • ๆ–‡ๆœฌๆธ…็†๏ผš่™•็†ๆฒ’ๆœ‰ๆจ™้ปž็š„่ˆŠๆ–‡ๆช”
  • ่ผธๅ…ฅๆณ•ๅ„ชๅŒ–๏ผš่ชž้Ÿณ่ผธๅ…ฅๅพŒ่‡ชๅ‹•ๅŠ ๆจ™้ปž

่ชฐๅœจ็”จ

ๅฐˆๆกˆ ่ชชๆ˜Ž
Sherpa_ASR ้›ข็ทšไธญๆ–‡่ชž้Ÿณ่พจ่ญ˜ๆœๅ‹™ๅ™จ๏ผŒๅ…งๅปบ punctuation.py
ClaudeBot Telegram AI ๆŒ‡ๆฎไธญๅฟƒ๏ผŒ่ชž้Ÿณ่พจ่ญ˜ๅพŒ่™•็†็”จ biaodian ๅŠ ๆจ™้ปž

ๅƒ่€ƒ่ณ‡ๆ–™

่ฒข็ป

ๆญก่ฟŽ่ฒข็ปๆ–ฐ็š„ๆจ™้ปž่ฆๅ‰‡๏ผ

  1. Fork ้€™ๅ€‹ๅฐˆๆกˆ
  2. ๅœจ biaodian.py ็š„ๅฐๆ‡‰่ฉž่กจไธญๆทปๅŠ ๆ–ฐ่ฉž
  3. ๅœจ tests/ ไธญๆทปๅŠ ๆธฌ่ฉฆ็”จไพ‹
  4. ๆไบค Pull Request

ๆŽˆๆฌŠ

MIT License


ๆจ™้ปž - ่ฎ“ๆ–‡ๅญ—ๅ‘ผๅธใ€‚

About

๐Ÿ“ Chinese punctuation formatter - Auto-correct and standardize punctuation marks in Chinese text

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages