需要将#标签拆分为文本

我需要自动将#标签拆分为有意义的单词。

示例输入:

  • iloveusa
  • mycrushlike
  • mydadhero

示例输出

  • i love usa
  • my crush like
  • my dad hero

有什么工具或开放API可以用来实现这个功能吗?


回答:

查看 – 词语分割任务 来自 Norvig 的工作。

from __future__ import divisionfrom collections import Counterimport re, nltkWORDS = nltk.corpus.brown.words()COUNTS = Counter(WORDS)def pdist(counter):    "Make a probability distribution, given evidence from a Counter."    N = sum(counter.values())    return lambda x: counter[x]/NP = pdist(COUNTS)def Pwords(words):    "Probability of words, assuming each word is independent of others."    return product(P(w) for w in words)def product(nums):    "Multiply the numbers together.  (Like `sum`, but with multiplication.)"    result = 1    for x in nums:        result *= x    return resultdef splits(text, start=0, L=20):    "Return a list of all (first, rest) pairs; start <= len(first) <= L."    return [(text[:i], text[i:])             for i in range(start, min(len(text), L)+1)]def segment(text):    "Return a list of words that is the most probable segmentation of text."    if not text:         return []    else:        candidates = ([first] + segment(rest)                       for (first, rest) in splits(text, 1))        return max(candidates, key=Pwords)print segment('iloveusa')     # ['i', 'love', 'us', 'a']print segment('mycrushlike')  # ['my', 'crush', 'like']print segment('mydadhero')    # ['my', 'dad', 'hero']

如果需要比这更好的解决方案,可以使用二元/三元模型。

更多示例请查看 : 词语分割任务

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注