序列模型的输入语句是:“Harry Potter and Herminoe Granger invented a new spell.”。假如想要建立一个能够自动识别句中人名位置的序列模型,那么这就是一个命名实体识别问题
该句话包含9个单词,输出y即为1 x 9向量,每位表征对应单词是否为人名的一部分,对应的输出y表示为:
y=[1 1 0 1 1 0 0 0 0]T y<t>表示序列对应位置的输出,Ty表示输出序列长度,1≤t≤Ty
对于输入x,表示为:
[x<1> x<2> x<3> x<4> x<5> x<6> x<7> x<8> x<9>] x<t>表示序列对应位置的输入,Tx表示输入序列长度。此例中Tx=Ty,但是也存在Tx=Ty
如何表示每个x<t>:
建立一个词汇库vocabulary,尽可能包含更多的词汇。例如一个包含10000个词汇的词汇库为:
aand⋅⋅⋅harry⋅⋅⋅potter⋅⋅⋅zulu 然后使用one-hot编码,词汇表中与x<t>对应的位置为1,其它位置为0。如果出现词汇表之外的单词,可以使用UNK或其他字符串来表示
对于多样本:对应的命名规则可表示为:X(i)<t>,Y(i)<t>,Tx(i),Ty(i),i表示第i个样本。不同样本的Tx(i)或Ty(i)都有可能不同