gpt4 book ai didi

python - 梵文的音节化

转载 作者:太空狗 更新时间:2023-10-30 01:31:59 24 4
gpt4 key购买 nike

我正在尝试对梵文单词进行音节化

धर्मक्षेत्冰箱 -> ध冰箱dharmakeshetre -> dhar mak shet re

wd.split('्')

我得到的结果是:

['धर', 'मक', 'षेत', 'रे']

部分正确

我试试另一个词कुरुक्षेत् 你kurukshetre -> ku ruk she tre

['कुरुक', 'षेत', 'रे']

结果显然是错误的。

如何有效地提取音节?

最佳答案

如果你逐个字符地查看你的字符串

>>> data = "कुरुक्षेत्र"
>>> re.findall(".", data)
['क', 'ु', 'र', 'ु', 'क', '्', 'ष', 'े', 'त', '्', 'र']

还有你的其他字符串

>>> data = "धर्मक्षेत्रे"
>>> re.findall(".", data)
['ध', 'र', '्', 'म', 'क', '्', 'ष', 'े', 'त', '्', 'र', 'े']

所以你想要的可能是使用 '् '् 拆分它们。我们暂时称它们为符号字符。如果您为第一个符号字符打印 ord(data[2]),则它是 2381。现在,如果您围绕这个值进行探测

>>> for i in range(2350, 2400):
... print(i, chr(i))
...
2350 म
2351 य
2352 र
2353 ऱ
2354 ल
2355 ळ
2356 ऴ
2357 व
2358 श
2359 ष
2360 स
2361 ह
2362 ऺ
2363 ऻ
2364 ़
2365 ऽ
2366 ा
2367 ि
2368 ी
2369 ु
2370 ू
2371 ृ
2372 ॄ
2373 ॅ
2374 ॆ
2375 े
2376 ै
2377 ॉ
2378 ॊ
2379 ो
2380 ौ
2381 ्
2382 ॎ
2383 ॏ
2384 ॐ
2385 ॑
2386 ॒
2387 ॓
2388 ॔
2389 ॕ
2390 ॖ
2391 ॗ
2392 क़
2393 ख़
2394 ग़
2395 ज़
2396 ड़
2397 ढ़
2398 फ़
2399 य़

我们最感兴趣的是 23622391 之间的值。所以我们创建了一个这样的值的数组

>>> split = ""
>>> for i in range(2362, 2392):
... split += chr(i)

接下来我们要找到所有带有或不带有相应符号的模式。

>>> re.findall(".[" + split + "]?", "धर्मक्षेत्रे")
['ध', 'र्', 'म', 'क्', 'षे', 'त्', 'रे']
>>> re.findall(".[" + split + "]?", "कुरुक्षेत्र")
['कु', 'रु', 'क्', 'षे', 'त्', 'र']

这应该会让您接近您可能正在寻找的内容。如果您需要更复杂的处理,那么您将不得不使用@OphirYoktan 发布的链接

关于python - 梵文的音节化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com