gpt4 book ai didi

python - 如何处理字符之间有空格的单词?

转载 作者:太空狗 更新时间:2023-10-29 21:57:54 27 4
gpt4 key购买 nike

我在达里语中使用nltk.word_tokenize。问题是我们在一个单词之间有空格。
例如单词 "òنده گь" 表示生命。和相同的;我们还有很多其他的话。所有以字符 "ه" 结尾的单词我们都必须为其留一个空格,否则,可以将其组合为 "òندهگь"

任何人都可以帮助我使用 [tag:regex] 或任何其他不应该标记一个单词的一部分以 "gen" 结尾的单词的方式吗?那,就会有 "گ " 字符。

最佳答案

为了解决波斯语中的这个问题,我们有一个名为 Zero-width_non-joiner 的字符(或波斯语或半空格或半空格中的 نیم‌فاصله),它有两个符号代码。一个是标准的,另一个不是标准的但被广泛使用:

  1. \u200C : http://en.wikipedia.org/wiki/Zero-width_non-joiner
  2. \u200F : 从右到左的标记 ( http://unicode-table.com/en/#200F )

据我所知,达里语与波斯语非常相似。所以首先你应该纠正所有的单词,比如 òنده گьòنده‌گь 并将所有错误的空格转换为半空格,然后你可以简单地使用这个正则表达式来匹配 a 的所有单词句子:

[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C\u200F]+

Online demo (测试字符串中的黑色项目符号是 regex101 无法识别的一半空格,但如果您检查匹配信息部分并查看 Match 5,您将看到它是正确的)

为了将大文本的错误空格转换为半空格,Microsoft word 调用有一个插件 virastyar这是免费和开源的。您可以安装它并优化您的整个文本。但是考虑到这个插件是为波斯语而不是达里语创建的。例如,在波斯语中,我们将 òنده‌گь 写成 òندگь 并且它无法为您纠正这个词。但是其他词,如 مь شود 可以很容易地更正并转换为 می‌شود。您也可以将自定义单词添加到数据库中。

关于python - 如何处理字符之间有空格的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46318284/

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