序列模型的输入语句是:“Harry Potter and Herminoe Granger invented a new spell.”。假如想要建立一个能够自动识别句中人名位置的序列模型,那么这就是一个命名实体识别问题
arrow-up-right
该句话包含9个单词,输出y即为1 x 9向量,每位表征对应单词是否为人名的一部分,对应的输出y表示为:
y<t>y^{<t>}y<t>表示序列对应位置的输出,TyT_yTy表示输出序列长度,1≤t≤Ty1\leq t\leq T_y1≤t≤Ty
对于输入xxx,表示为:
x<t>x^{<t>}x<t>表示序列对应位置的输入,TxT_xTx表示输入序列长度。此例中Tx=TyT_x=T_yTx=Ty,但是也存在Tx≠TyT_x\neq T_yTx=Ty
如何表示每个x<t>x^{<t>}x<t>:
建立一个词汇库vocabulary,尽可能包含更多的词汇。例如一个包含10000个词汇的词汇库为:
然后使用one-hot编码,词汇表中与x<t>x^{<t>}x<t>对应的位置为1,其它位置为0。如果出现词汇表之外的单词,可以使用UNK或其他字符串来表示
对于多样本:对应的命名规则可表示为:X(i)<t>X^{(i)<t>}X(i)<t>,Y(i)<t>Y^{(i)<t>}Y(i)<t>,Tx(i)T_x^{(i)}Tx(i),Ty(i)T_y^{(i)}Ty(i),iii表示第iii个样本。不同样本的Tx(i)T_x^{(i)}Tx(i)或Ty(i)T_y^{(i)}Ty(i)都有可能不同
Last updated 6 years ago