如何提取给定单词或句子的颜色

时间:2018-07-25 15:32:00

标签: python machine-learning nltk data-science

我正试图清除由用户向字段中输入数据的用户管理的数十万行数据。最近设置了输入掩码后,没有重新清除数据。

现在,我正在尝试假设给定功能的单词(颜色)或句子(可能带有或不带有颜色)并返回其最佳颜色猜测。

是否有一个我目前不知道的图书馆?

示例

输入: INT绸缎基础

输出: 缎面

输入: 浅红色

输出: 红色

输入: 锁扣盒-白色

输出: 白色

2 个答案:

答案 0 :(得分:1)

您可以使用python colour包检查输入关键字是否为颜色。要安装,请使用pip install colour

>>> from colour import Color
>>> s = 'Light Red'
>>> _color = [i for i in s.split(' ') if check_color(i)]
['Red']    

这是自定义函数:

def check_color(color):
    try:
        Color(color)
        return True
    except ValueError:
        return False

答案 1 :(得分:0)

获取常用颜色名称列表(例如从https://simple.wikipedia.org/wiki/List_of_colors中获取)并将其收集在列表中。

然后,使用颜色名称列表和输入字符串,搜索输入字符串中存在的任何颜色名称。

var privateKey = new bitcore.PrivateKey('the private key :P');
var address = privateKey.toWIP().toAddress();
var script = bitcore.Script.buildPublicKeyHashOut(address);

我通过color_names = [..., "Satin", ...] input_str = "INT SATIN BASE" found_colors = [color for color in color_names if color.lower() in input_str.lower()] 进行了基本的输入清理,以增加像.lower()这样的字符串与SATIN匹配的机会,但是,如果输入字符串可能潜在地需要额外的数据清理包含不需要的字符。