小编Pal*_*lak的帖子

将RGB转换为灰度/强度

当从RGB转换为灰度时,据说应该应用通道R,G和B的特定权重.这些重量为:0.2989,0.5870,0.1140.

据说,其原因是人类对这三种颜色的感知/敏感性不同.有时也会说这些是用于计算NTSC信号的值.

但是,我没有在网上找到这方面的好参考.这些价值观的来源是什么?

另请参阅以前的这些问题:此处此处.

language-agnostic rgb colors image-processing computer-vision

119
推荐指数
5
解决办法
17万
查看次数

用nltk改进人名的提取

我试图从文本中提取人名.

有没有人有他们推荐的方法?

这就是我尝试的(代码如下):我nltk用来查找标记为人的所有内容,然后生成该人的所有NNP部分的列表.我正在跳过那些只有一个NNP的人,这可以避免抓住一个单独的姓氏.

我得到了不错的结果但是想知道是否有更好的方法来解决这个问题.

码:

import nltk
from nameparser.parser import HumanName

def get_human_names(text):
    tokens = nltk.tokenize.word_tokenize(text)
    pos = nltk.pos_tag(tokens)
    sentt = nltk.ne_chunk(pos, binary = False)
    person_list = []
    person = []
    name = ""
    for subtree in sentt.subtrees(filter=lambda t: t.node == 'PERSON'):
        for leaf in subtree.leaves():
            person.append(leaf[0])
        if len(person) > 1: #avoid grabbing lone surnames
            for part in person:
                name += part + ' '
            if name[:-1] not in person_list:
                person_list.append(name[:-1])
            name = ''
        person = []

    return …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk

37
推荐指数
5
解决办法
5万
查看次数

Checkstyle中"错误顺序的变量访问定义"是什么意思?

我在我的Java代码上运行checkstyle 并得到此错误:

变量访问定义的顺序错误

有人能告诉我这意味着什么吗?

java checkstyle

25
推荐指数
2
解决办法
3万
查看次数

NLTK与斯坦福NLP

我最近开始使用NLTK工具包来使用Python创建一些解决方案.

我听说很多关于使用斯坦福NLP的社区活动.谁能告诉我NLTK和斯坦福NLP有什么区别?它们是2个不同的库吗?我知道NLTK有一个与斯坦福NLP的接口,但是任何人都可以对一些基本差异或更详细的内容有所了解.

可以使用Python使用stanford NLP吗?

python nlp nltk stanford-nlp

21
推荐指数
3
解决办法
1万
查看次数

NLTK中的"ImportError:无法导入名称StanfordNERTagger"

我无法在NLTK中导入NER Stanford Tagger.这就是我所做的:

这里下载了java代码, 并添加了一个环境变量STANFORD_MODELS,其中包含存储java代码的文件夹的路径.

根据NLTK网站上提供的信息,这应该足够了.它说:

"Tagger模型需要从http://nlp.stanford.edu/software和STANFORD_MODELS环境变量集(以冒号分隔的路径列表)下载."

请问有人帮助我吗?

编辑:下载的文件夹位于/ Users/-----------/Documents/JavaJuno/stanford-ner-2015-04-20并包含以下文件:

LICENSE.txt         lib             ner.sh              stanford-ner-3.5.2-javadoc.jar
NERDemo.java            ner-gui.bat         sample-conll-file.txt       stanford-ner-3.5.2-sources.jar
README.txt          ner-gui.command         sample-w-time.txt       stanford-ner-3.5.2.jar
build.xml           ner-gui.sh          sample.ner.txt          stanford-ner.jar
classifiers         ner.bat             sample.txt
Run Code Online (Sandbox Code Playgroud)

然后我添加了一个环境变量STANFORD_MODELS:

os.environ["STANFORD_MODELS"] = "/Users/-----------/Documents/JavaJuno/stanford-ner-2015-04-20"
Run Code Online (Sandbox Code Playgroud)

从nltk.tag导入调用StanfordNERTagger会产生错误:

ImportError                               Traceback (most recent call last)
<ipython-input-356-f4287e573edc> in <module>()
----> 1 from nltk.tag import StanfordNERTagger

ImportError: cannot import name StanfordNERTagger
Run Code Online (Sandbox Code Playgroud)

如果这可能是相关的,这就是我的nltk.tag文件夹中的内容:

__init__.py api.pyc     crf.py      hmm.pyc     senna.py    sequential.pyc  stanford.py tnt.pyc
__init__.pyc    brill.py    crf.pyc     hunpos.py   senna.pyc   simplify.py stanford.pyc    util.py
api.py      brill.pyc   hmm.py …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk

9
推荐指数
1
解决办法
1万
查看次数

如何将输出数据写入pdf?

我找不到如何在 python 中将输出数据(列表或函数返回)写入 pdf 的方法。这是我的简单代码。我想i在pdf中逐行写入数据列表。但输出仅显示[1,2,3,4,5,6]. 哪个pdf模块更适合我使用?

import fpdf

data=[1,2,3,4,5,6]

pdf = fpdf.FPDF(format='letter')
pdf.add_page()
pdf.set_font("Arial", size=12)

for i in str(data):
    pdf.write(5,i)
pdf.output("testings.pdf")
Run Code Online (Sandbox Code Playgroud)

python pdf fpdf

6
推荐指数
1
解决办法
2万
查看次数

如何将 Bert 嵌入提供给 LSTM

我正在研究用于文本分类问题的 Bert + MLP 模型。本质上,我试图用基本的 LSTM 模型替换 MLP 模型。

是否可以创建带有嵌入的 LSTM?或者,最好创建一个带有嵌入层的 LSTM?

更具体地说,我很难尝试创建嵌入矩阵,因此我可以使用 Bert 嵌入创建嵌入层。

def get_bert_embeddings(dataset='gap_corrected_train',
                        dataset_path=TRAIN_PATH,
                        bert_path=BERT_UNCASED_LARGE_PATH,
                        bert_layers=BERT_LAYERS):
    """Get BERT embeddings for all files in dataset_path and specified BERT layers and write them to file."""
    df = None
    for file in os.listdir(dataset_path):
        if df is None:
            df = pd.read_csv(dataset_path+'/'+file, sep='\t')
        else:
            next_df = pd.read_csv(dataset_path+'/'+file, sep='\t')
            df = pd.concat([df, next_df], axis=0)
            df.reset_index(inplace=True, drop=True)

    for i, layer in enumerate(bert_layers):
        embeddings_file = INTERIM_PATH + 'emb_bert' + str(layer) + '_' + dataset …
Run Code Online (Sandbox Code Playgroud)

lstm keras keras-layer mlp bert-language-model

6
推荐指数
1
解决办法
8410
查看次数

单向 Transformer VS 双向 BERT

我刚读完Transformer论文和BERT论文。但无法弄清楚为什么 BERT 论文中提到的 Transformer 是单向的,而 BERT 是双向的。由于他们不使用循环网络,因此解释方向并不那么简单。任何人都可以提供一些线索吗?谢谢。

nlp transformer-model pre-trained-model bert-language-model

2
推荐指数
1
解决办法
1094
查看次数

在自定义数据上微调BERT

我想使用Bert 训练21类文本分类模型。但是我的训练数据很少,因此下载了一个类似的数据集,其中包含5个类的数据集,包含200万个样本。t并使用由bert提供的无条件预训练模型对下载的数据进行了微调。并获得了约98%的验证准确性。现在,我想将此模型用作我的小型自定义数据的预训练模型。但是shape mismatch with tensor output_bias from checkpoint reader由于检查点模型有5个类,而我的自定义数据有21个类,因此出现错误。

NFO:tensorflow:Calling model_fn.
INFO:tensorflow:Running train on CPU
INFO:tensorflow:*** Features ***
INFO:tensorflow:  name = input_ids, shape = (32, 128)
INFO:tensorflow:  name = input_mask, shape = (32, 128)
INFO:tensorflow:  name = is_real_example, shape = (32,)
INFO:tensorflow:  name = label_ids, shape = (32, 21)
INFO:tensorflow:  name = segment_ids, shape = (32, 128)
Tensor("IteratorGetNext:3", shape=(32, 21), dtype=int32)
WARNING:tensorflow:From /home/user/Spine_NLP/bert/modeling.py:358: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be …
Run Code Online (Sandbox Code Playgroud)

nlp text-classification deep-learning tensorflow bert-language-model

2
推荐指数
1
解决办法
528
查看次数