【问题标题】:Word Tokenization When There is No Space没有空格时的词分词
【发布时间】:2019-02-21 08:52:56
【问题描述】:

我想知道机器学习、深度学习或自然语言处理中的术语,当它们之间没有空格时,它们会在段落中分割单词。

示例: “我想做饭”

变成: “我想做饭”

这并不容易,因为您没有标记单词的字符。

感谢您的帮助

【问题讨论】:

  • 您需要一本包含所有已知英文单词的字典,并逐个字符地分析文本的语义,直到找到字典中的“已知单词”并将其分开,然后继续处理剩余的字母。这样才能得到这种输出。
  • 这个问题叫做分词。它更常用于不分隔单词的语言。
  • J.史密斯(我不知道如何召唤某人)但如果我这样做,计算成本会很高吗?因为你应该逐字符匹配字符
  • 丹 D,谢谢丹。分词听起来很熟悉

标签: python machine-learning deep-learning natural-language-processing


【解决方案1】:

您可以使用polyglot 包来实现此目的。有一个形态分析选项。

这种分析基于morfessor 模型,该模型针对最常见的单词进行了训练,以遇到语素(“语法的原始单位,语言话语中最小的独立有意义的元素”)。

来自documentation

from polyglot.text import Text

blob = "Wewillmeettoday."
text = Text(blob)
text.language = "en"
print(text.morphemes)

输出将是:

WordList([u'We', u'will', u'meet', u'to', u'day', u'.'])

请注意,如果您想开始使用多语言,您应该首先仔细阅读文档,因为有一些事情需要考虑,例如语言特定模型的downloading

【讨论】:

  • 也许你也可以简单地解释一下它是如何完成的,因为我想作者也想知道这些库是如何使它成为可能的。
  • 感谢特洛塔。但我想知道lib是否可以语义化。例如“islandmadebysomemagic”应该是“island by some magic”还是“island by some magic”。还是谢谢
  • 我不知道这个包是如何处理特定请求的,但是你应该试一试。我自己也在使用这种 NLP,目前它是我遇到的此类分析的最佳工具。
猜你喜欢
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2020-07-28
  • 1970-01-01
相关资源
最近更新 更多