【问题标题】:How to tokenize continuous words with no whitespace delimiters?如何标记没有空格分隔符的连续单词?
【发布时间】:2023-03-11 16:42:01
【问题描述】:

我正在使用带有 nltk 的 Python。我需要处理一些没有任何空格的英文文本,但是 nltk 中的 word_tokenize 函数无法处理这样的问题。那么如何在没有任何空格的情况下标记文本。 Python中有什么工具吗?

【问题讨论】:

  • 为什么没有空格?什么是域?
  • 你如何识别一个单词?
  • 除非您逐个字母地扫描文本并测试所有可能的连续字符组合,否则必须有一个分隔符
  • 这是一个有趣的算法问题!我不知道为什么它被否决了。
  • 我看到了同样的问题here。希望对你有帮助

标签: python nltk tokenize


【解决方案1】:

我不知道这些工具,但您的问题的解决方案取决于语言。

对于土耳其语,您可以逐字母扫描输入的文本并将字母累积成一个单词。当您确定累积的单词构成字典中的有效单词时,您将其另存为单独的标记,擦除用于累积新单词的缓冲区并继续该过程。

你可以试试这个英语,但我假设你可能会发现一个单词的结尾可能是某个字典单词的开头,这可能会给你带来一些问题。

【讨论】:

    【解决方案2】:

    也许Viterbi algorithm 可以提供帮助?不确定...但可能比手动操作要好。

    这个对另一个 SO 问题的回答(以及另一个高票回答)可能会有所帮助:https://stackoverflow.com/a/481773/583834

    【讨论】:

    • 维特比运气好吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多