这个问题是的扩展这一个着重于LSTM相对于CRF.不幸的是,我对CRF没有任何经验,这就是我提出这些问题的原因.
问题:
我想预测多个非独立组的二进制信号序列.我的数据集中等很小(每组约1000条记录),所以我想在这里尝试一个CRF模型.
可用数据:
我有一个包含以下变量的数据集:
使用此数据集我想预测group_a_activity
,group_b_activity
哪些都是0或1.
请注意,这些组被认为是交叉相关的,并且可以从时间戳中提取其他功能 - 为简单起见,我们可以假设我们只从时间戳中提取了一个功能.
到目前为止我所拥有的:
以下是您可以在自己的计算机上重现的数据设置.
# libraries
import re
import numpy as np
import pandas as pd
data_length = 18 # how long our data series will be
shift_length = 3 # how long of a sequence do we want
df = (pd.DataFrame # create a sample dataframe
.from_records(np.random.randint(2, size=[data_length, 3]))
.rename(columns={0:'a', 1:'b', 2:'extra'}))
df.head() # check it out
# shift (assuming data is sorted …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用CRFSuite,但我无法弄清楚如何使用示例/ ner.py和pos.py
确切地说,我如何输入表格:
# Ner.py
fields = 'y w pos chk'
Run Code Online (Sandbox Code Playgroud)
要么
# Pos.py
fields = 'w num cap sym p1 p2 p3 p4 s1 s2 s3 s4 y'
Run Code Online (Sandbox Code Playgroud)
例如,我可以从CoNNL模型获得"yw pos",但是"chk"部分和pos.py中的所有那些字段我都没有真正得到.
另外,有没有办法用CRFSuite处理原始文本(没有所有那些标签),因为我有一个训练有素的模型?
我想开发一个 NER 模型,我想使用词嵌入特征来训练 CRF 模型。代码在没有词嵌入特征的情况下完美运行,但是当我插入嵌入作为 CRF 训练的特征时,收到错误消息。这是我的代码片段的一部分:
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('ggplot')
from itertools import chain
import nltk
import sklearn
import scipy.stats
from sklearn.metrics import make_scorer
#from sklearn.cross_validation import cross_val_score
#from sklearn.grid_search import RandomizedSearchCV
import sklearn_crfsuite
from sklearn_crfsuite import scorers
from sklearn_crfsuite import metrics
import pickle
from gensim.models import KeyedVectors
import numpy as np
# Load vectors directly from the file
model1 = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True) ### Loading pre-trainned word2vec model
### Embedding function
def get_features(word):
word=word.lower()
vectors=[]
try: …
Run Code Online (Sandbox Code Playgroud)