




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
機械学習による自然言語処理チュートリアル
~PerceptronからCRFまで~岡野原大輔東京大学
PreferredInfrastructure20088/3@PFI本郷オフィス第一页,共七十三页。目次自然言語処理紹介機械学習導入パーセプトロンバッチ学習(最大エントロピー法)過学習/正則化多クラス分類系列分類(CRF,StructuredPerceptron)このへんで
眠くなる第二页,共七十三页。自然言語処理(1/2)言語情報をコンピュータで処理するコンピュータ言語の研究との対比で自然言語世界最初のコンピュータの出現の頃から自動翻訳は試みられている。コンピューターサイエンスの中でも歴史の長い分野近年ビジネス的にも成功,Googleなどなど非常に幅広い分野と接触する、境界領域処理する手法=言語学,数学,統計学,機械学習,アルゴリズム,データマイニング,データ構造,物理処理する対象=情報検索,ウェブ,音声情報,ユーザーインターフェース言語が絡んでたら何でもいい第三页,共七十三页。自然言語処理(2/2)分野例構文解析(係り受け解析)意味解析,SRL機械翻訳(統計的機械翻訳,ルールベース)情報検索固有表現抽出、文書分類、単語クラスタリング、有名な学会、ジャーナルComputationalLinguistic,ACL,EMNLP,CoLing,NAACL,EACL,IJCNLP,などなど「自然言語処理の学会」
ACLanthology第四页,共七十三页。自然言語処理で
機械学習を使う第五页,共七十三页。自然言語処理
ルールベース編人手でルールをひたすら書いて処理する例:スパム排除ルールif(s=~/H|奥様|楽しかったね/)
thenスパム単純だが強力な手法で昔から現在でも
活躍現時点でも日英機械翻訳などはルールベースの方が精度が良い第六页,共七十三页。自然言語処理
ルールベース編長所内部処理が分かりやすい人手で調整可能頑張れば頑張るほど精度が上がる短所:コストが大きい(最初は精度が伸びるが、そこから伸びない、メンテナンスコスト)、新しいドメインに弱い、ルールに専門知識が必要(職人芸)、一貫性が無い(時間、人によってルールが変わる)第七页,共七十三页。自然言語処理
機械学習編人手でルールを書く代わりに正解の訓練データを用意し、そこから正解を導くルールを導出する自然言語処理の場合、ルールは「単語」や「品詞」の出現などを利用ルールの候補集合を決め,その中の効くルールは学習で自動で探すどのようにルールを作るか=テンプレート第八页,共七十三页。機械学習の前に
ルールベースvs機械学習何か問題を解こうとする場合は、むやみに機械学習を使わず検討してみる訓練データを得るためのコスト対ルールを書くためのコストルールベースの方が良い場合も多い問題のスケール、要求される精度、問題に対してもってる知識などでよく吟味ルールの多くは素性という形で機械学習に反映させることもできるが、複雑な場合は人がやったほうがいい(文法変換などは数千行のperlでかいたそう)第九页,共七十三页。ベクトル表現多くの自然言語情報は疎な高次元のデータとして扱うことができる文書のBOW表現では、Vを単語種類数とした時,各単語に0~V-1の順番に番号を振るi番目の単語が出現したらVi=1とするV次元のベクトルとして扱える0:Best1:Drug2:Congratuation3:FlowerDrug…Best…FlowerDrug…Congratuation…11010110各値を決めるのに使ったルールを素性(そせい、または特徴)、
この高次元ベクトルを素性ベクトル(特徴ベクトル)と呼ぶ。第十页,共七十三页。線形識別器分類問題:入力xをニ値(y=+1,-1)に分類例:文書をスパム(+1)orそれ以外(-1)に分類S(x)≧0⇒
y=+1S(x)<0⇒y=-1と判断するwi>0ならば、xiが出現したらスパム度合いが増す(|wi|が大きければ大きいほど効く)このようなwをどうやって求めるか第十一页,共七十三页。重みベクトルwを求める訓練データ(xi,yi)(yi=1or-1)を正しく分類できるようなwを求める全てのiでyiwTxi>0をみたすようにする訓練データを分類できるのだから、未知のテストデータも分類できるのだろう
(という期待。真面目には汎化性能とかを
議論しなければならない)第十二页,共七十三页。オンライン学習・バッチ学習オンライン学習訓練データを1例ずつ見てwを更新する長所:あらかじめ全部の訓練例をもたなくても良い。速い(一般に訓練データ数に線形の計算量)短所:バッチに比べ適当、訓練例の順番に偏りが大きい場合に精度が不安定バッチ学習訓練データを全部見てからwを求める長所:精度が良い、理論的保証も強い(汎化性能)短所:重い場合が多い第十三页,共七十三页。オンライン学習
パーセプトロン[Rosenblatt57]w={0,0,….0}に初期化loop(xi,yi)訓練データをランダムにとってくるs:=yiwTxi//wTxi=現在の予測if(s<0)//現在の予測が外れたw:=w+yixi//w+αyixi,0<α<1とする場合endifend第十四页,共七十三页。なぜ学習できるのか更新後の重みベクトルw’:=w+yixiこれを使って、もう一度間違えた訓練例(xi,yi)を分類するとw’Txi=(w+yixi)T
xi=wTxi+yixiTxi先程間違えた
予測結果常に正wは正解が出るように更新される第十五页,共七十三页。Perceptronの収束定理
[Block62][Novikoff62]Q.直前の訓練例だけを分類できるよう更新して、全ての訓練例を分類できるようになるのか?A.訓練例が線形分離可能ならできる定理:もし訓練データ(xi,yi)(i=1...m)(|xi|<R)が、ある重みベクトルu(|u|=1)
でマージンγで分類可能なら(yi(uxi)≧γ)、アルゴリズムの更新回数は多くても(R/γ)2xの次元数によらないことにも注意第十六页,共七十三页。Perceptronの収束定理の証明wkをk回目の更新前の重みベクトルとおくwk+1u=wku+yi(uxi)≧wku+γこれよりwk+1u≧kγ(w0=0)また、|wk+1|2=|wk|2+2yi(wkxi)+|xi|2≦|wk|2+R2これより|wk+1|2≦kR2上記二つよりkR2≧|wk+1|2≧(wk+1u)2≧k2γ2⇒(R/γ)2≧kwkで間違った訓練例なので値は負第十七页,共七十三页。Perceptron補足線形識別可能で無い場合は使えないとの批判
[Minsky69]データにノイズがある場合やxorなど廃れてしまった・・⇒最近復活!カーネルトリックを使える[Y.Freund98]後述の構造学習などでは、非常に強力な学習手法であることが分かってきた[Collins02,Daume06]自然言語処理分野をはじめ多くの分野で再度、使われるようになってきた++--第十八页,共七十三页。頭が疲れてきたかもなので
ちょっと休憩続いてOLL実践編第十九页,共七十三页。OLLを使って
実際に分類をしてみようOLLではパーセプトロンを初め様々なオンライン学習手法がサポートされている>wget>cdoll-0.01;./configure;make;(makeinstall)>oll_trainPtrain(パーセプトロンで学習し、学習結果をmodelfileに保存する)>oll_testtest(学習結果をmodelfileから読み込み、testfileを分類する)第二十页,共七十三页。訓練・テストデータの
フォーマット各行が1訓練例に対応最初に正例なら+1,負例なら-1を書き、その後に素性番号:値の列を並べる+10:1.0201:2.2744:-0.315:3.0….-147:2.066:0.1733:1.0500:1.0+13:1.0201:2.2300:-0.315:0.3第二十一页,共七十三页。文書分類を作ってみよう(C++ですいません)map<string,int>str2id;
//文字列から素性番号への連想配列
vector<string>id2str;
//素性番号から文字列への逆引き
intgetID(conststring&str,
map<string,int>&str2id){
map<string,int>::const_iteratorit
=str2id.find(str); if(it!=str2id.end()){returnit->second;//登録済みのIDを返す}else{//登録されてないconstintnewID=str2id.size();str2id[str]=newID;//登録
id2str.push_back(str);returnnewID;//新しいiDを返す}}第二十二页,共七十三页。intdoc2fv(conststring&doc,constinty,
ofstream&outf){istringstreamis(doc);//docの単語はスペースで区切られている。きられて無い場合はmecabやら辞書の最長一致をしてくださいstringchunk;vector<int>IDs;while(is>>chunk){IDs.push_back(getID(chunk));}sort(IDs.begin(),IDs.end());IDs.erase(unique(IDs.begin(),IDs.end()),IDs.end());//重複を除くoutf<<y<<““;//ラベルfor(size_ti=0;i<IDs.size();i++){outf<<IDs[i]<<“:1“;}outf<<endl;}スペース区切り済みのドキュメントから素性ベクトルを作る第二十三页,共七十三页。学習
バッチ編第二十四页,共七十三页。バッチ学習編全部のデータを真面目にみてもっと精度を高くしようf0/1:0/1損失関数f0/1(a)=1もしa<0,
=0それ以外Σif0/1(yiwTxi)を最小化するようなwを求める10ywTxf0/1第二十五页,共七十三页。重みベクトルwを求める(続)
バッチ学習編Σif0/1(yiwTxi)を最小にするwを探す数値最適化問題この最適化問題は実は難しい!関数f0/1(a)は微分不可能で凸でもない
(極小解が複数存在する)wiwが1次元だったらΣif0/1(yiwTxi)極小解探したい値第二十六页,共七十三页。様々な損失関数によるf0/1の近似凸(穴が無い、Hessian行列が正定値)または
微分可能(滑らか)な関数緑:SVM(hinge-loss)青:MaxEnt(logloss)紫:AdaBoost(exp-loss)第二十七页,共七十三页。線形識別器まとめ訓練データを用意(xi,yi)(yi∈{-1,+1})学習:損失関数Lを使って
ΣiL(xi,yi,w)が最小となるwを探す推定:分類したいデータxnewに対し
s=wTxnewを求めs>0⇒y=1,s<0⇒y=-1と推定する非常に多くの分類器がこれに属するSVM,最大エントロピー法、NB、Adaboostなど第二十八页,共七十三页。過学習/正則化第二十九页,共七十三页。過学習訓練データは分類できるようになっても、テストデータが分類できない場合がある大抵、訓練データにオーバーフィットしている場合が多い訓練データとテストデータの性質が違う場合もあるがそれはまた別の話回帰の例:青は2次曲線赤は8次曲線赤は全ての点を通っているが
スムーズではない(オーバーフィット)第三十页,共七十三页。正則化過学習を防ぐようにwにペナルティを与える絶対値が大きいwiにペナルティを与えるL2ノルム|w|2=w12+w22+….wm2L1ノルム|w|=|w1|+|w2|+…+|wm|実はこの二つがものすごい差を生む(今回は話しません)訓練例を正しく分類しつつ過学習しない学習ΣiL(xi,yi,w)+C|w|2CはトレードオフパラメーターCが大きいと過学習をしないが訓練データにfitしない、Cが小さいと訓練データにfitするが過学習する危険性がある最適なCは別データを利用して推定するか、ベイズ推定第三十一页,共七十三页。線形識別器のまとめ(改)訓練データを用意(xi,yi)(yi=1or-1)学習:損失関数Lを使って
ΣiL(xi,yi,w)+C|w|2が最小となるwを探す推定:分類したいデータxnewに対し
s=wTxnewを求めs>0⇒y=1,s<0⇒y=-1と推定する正則化第三十二页,共七十三页。出力で確率値を出したい場合スコアに確率をだしてつけたいyが0と1になる確率値はそれぞれいくつ?確信度として後の処理で使いたいスコアそのままでは正規化されていない確率値に必要な条件出力値は正の実数(条件1)可能な出力値の確立を足し合わせたら1
(条件2)第三十三页,共七十三页。出力で確率値を出したい場合(続)
Logistic回帰条件1を満たすためにwTxをexpに入れる条件2を満たすために正規化するとこの形の確率モデルをLogistic回帰と呼ぶ
(最大エントロピーモデルと一致)第三十四页,共七十三页。最大エントロピーモデル
(後で読んでね)先程は強引な導出をしたが、別の意味づけもできる各素性に関するラベルの符号付の期待値をfk=Σiyixik/Nとおくx,y上の確率分布p(x,y)で各素性の期待値が一致するような分布でエントロピー(∫x,yp(x,y)logp(x,y)dxdy)が最大となる確率分布は先程のモデルの最尤推定結果と一致する第三十五页,共七十三页。Logistic回帰の学習訓練データの生成確率を最大にするようなwを求めるlogloss損失関数!先程見ましたね第三十六页,共七十三页。多クラス分類第三十七页,共七十三页。多クラス分類x+1-1入力出力例:スパム分類どっち?x12入力出力どれ?…k例:文書カテゴリ分類ちょっと難しそう・・第三十八页,共七十三页。多クラス分類入力x
出力{1,2,…,m}のどれか重みベクトルwをクラス種類数分用意w1…wmwTyxが一番大きかったyを推定結果とするこれをargmaxywTyxとかくそのようなw1…wmをどのように求めるのか?第三十九页,共七十三页。パーセプトロンによる学習w1…wmを全部{0,0,…,0}に初期化loop(xi,yi)訓練データをランダムにとってくるy*:=argmaxywyTxi(現在の予測結果)if(y*≠yi)//現在の予想が外れたwyi:=wyi
+xiwy*:=wy*
–xi//正解じゃないのに//スコアが高いやつには罰を!endifend第四十页,共七十三页。多クラス版最大エントロピーモデル推定はargmaxywyTxで行なう点で同じ学習は訓練データの生成確率を最大にするようなwを求める後でCRFの時にこれがでてきます第四十一页,共七十三页。系列分類問題
(構造出力学習)第四十二页,共七十三页。系列分類問題とは分類対象が系列(ラベル列)ニ値分類多値分類系列分類x+1-1入力出力例:スパム分類どっち?x12入力出力どれ?…k例:文書のカテゴリ分類
(スポーツ、金融、芸能xAAAAACABECEEEEE….….例品詞分類、形態素解析
固有表現抽出第四十三页,共七十三页。系列分類問題(続)分類対象が系列(ラベル列)一般にk個の多値分類に分解できる多値分類で、|Y|k個の候補から探すと思ってもよい品詞分類各単語に付く品詞を分類する固有表現抽出各単語が固有表現抽出の先頭(B)か、途中か(I)、それ以外か(O)の分類問題として解く形態素解析形態素ラティス上を選ぶ問題画像認識、時系列解析など多分野でも使われている第四十四页,共七十三页。固有表現抽出タスク:人名や地名などの固有表現を文中から抜き出す訓練データさえ用意できえれば何でもラベルを各文字に割り当てる問題B:固有表現の先頭I:固有表現の途中O:固有表現以外
出力OOOBIIIOOOOO入力今年の西東京市は暑いです地名抽出問題の正解例第四十五页,共七十三页。系列分類
順次適用モデル前から順に分類問題を独立に解いていく直前の分類結果も素性として利用できる出力OOOBI???????入力今年の西東京市は暑いです既に決まったものこれを分類する(BorIorO?)使える情報:入力(その位置の文字=京、一つ前の文字=東、
一つ後の文字=市、一つ前のラベル=I)HMMとは違い、入力情報全部がどの位置でも使えることに注意第四十六页,共七十三页。系列分類、解き方問題点後ろの情報を自由に使えない
例:人名抽出タスクで「様」という単語がきたらその直前の漢字列は人名だが、前から順番に見た時にOと判定してしまっていたHMMのようにViterbiを使って推定する全候補中の最もよいラベル列を、動的計画法で効率よく求めるMEMMのように自由に素性を使える第四十七页,共七十三页。BIOBIIIBBBOOO各候補がグラフ上の頂点に対応し、各枝には分類結果の重みがついている系列問題
グラフ上の最大パスを求める問題0.50.40.10.85他の枝の重みは省略StartIOEndここのパス上の重みはOの次にBを選ぶ
かどうかのスコアで決められる第四十八页,共七十三页。Viterbi復号グラフ上の最大重みパスは動的計画法によって解くことができる各位置での候補数がk、系列長がNの時
O(k2N)時間で解くことができる各重みを最大エントロピー法による確率値で求めたものを特にMEMM(MaximumEntropyMarkovModel)と呼ぶ確率値のlogをとったものを重みにすれば、通常の最大重みパスのアルゴリズムで解ける第四十九页,共七十三页。MEMMなどの順次適用モデル
の問題点1.labelbias簡単な経路(曖昧性の小さい経路)が存在した場合にそちらが選ばれやすい学習時に正解系列とその周辺だけが考慮されるので、知らない系列の確率値は非常に不安定になる[Kudo+04]より第五十页,共七十三页。MEMMなどの順次適用モデル
の問題点2.lengthbiasラベルをつける単位が等しくない場合(形態素解析など)、短い経路が選ばれやすい[Kudo+04]より第五十一页,共七十三页。条件付確率場
CRF(ConditionalRandomFields)問題を部分問題に分けずに,一つのモデルで表す但しΦ(x,y)は、系列y=y1y2…yk上のパスの全ての素性ベクトルを足し合わせたものo(x)はx上に定義される全ての系列集合先程の二つの問題(labelbias,lengthbias)問題を自然に解消y’はx上の全てのパス!第五十二页,共七十三页。BIOBIIIBBBOOOCRF
StartIOEndこの枝から素性ベクトルΦ(x,i=1,yp=O,yn=B)が取り出される先程は、とられた素性ベクトルをそれぞれの中でexpの中に
入れるモデルこの頂点から素性ベクトルΦ(x,i=1,y=I)が取り出される第五十三页,共七十三页。BIOBIIIBBBOOOStartIOEndBIOBIIIBBBOOOStartIOEndCRFMEMM青線が負例赤線が正解例負例は正解系列の周辺のみ!⇒全く知らない系列の推定が不安定第五十四页,共七十三页。素性頂点からの素性ベクトルラベル×入力の全ての情報枝からの素性ベクトル枝の両端のラベル×入力の全ての情報例:ラベル×その位置の入力単語直前の単語×直後の単語×直前と直後のラベル
など第五十五页,共七十三页。CRFの特徴まとめ確率値が出せる一番予測値が良いパスだけでなくN-best(上位N個)も推定できる精度が安定して良い訓練時に全てのパスが考慮されるので枝(隣接するラベル対)、頂点(ラベル)で任意の素性を定義できる入力はどの位置でも全て使える。より複雑なモデルでは学習、推定が難しくなる(詳しくはGraphicalModelで調べてみてください)第五十六页,共七十三页。パーセプトロンによる学習この系列問題もパーセプトロンで学習できてしまう![Collins02]確率値は出せず、1-bestだけしか出ないが学習はすごく速くて簡単N-bestも一応出せるが、訓練時に1位以下のパスは考慮しないので、CRF++に比べ信頼できない第五十七页,共七十三页。パーセプトロンによる学習w1…wmを全部{0,0,…,0}に初期化loop(xi,yi)訓練データをランダムにとってくるy*:=argmaxy
wTΦ(x,y)
(現在の予測系列)if(y*≠yi)//現在の予想が外れたwyi:=wyi
+Φ(x,y)
wk*:=wk*
-Φ(x,y)i//正解じゃないのに//スコアが高いやつには罰を!endifend素性がラベル間(枝素性)のようなlocalなものしか使って無いならargmaxはViterbiアルゴリズムで処理可能
そうでない場合は、ビームサーチやGibbsSamplingで近似解を推定する第五十八页,共七十三页。パーセプトロンまとめどんなに複雑な問題でもargmax操作さえ効率的にできれば、y’=argmaxy
wTΦ(x,y)
w:=w+y
w:=w–y’として学習できる全列挙が難しくてもargmaxができる問題も多数存在する例:二部グラフの最大重みマッチングは全列挙は頂点数の指数時間かかるがargmaxは線形計画法で線形時間で解ける第五十九页,共七十三页。CRF++を使って系列分類を
行なおうCRF++TakuKudo第六十页,共七十三页。訓練データのフォーマットM個の要素からなる系列問題はM行からなり、各問題は空行で区切られる各行は任意個数の列を持つことができる。全ての行は同じ個数の列を持つ必要がある最終列が正解を持つ第六十一页,共七十三页。訓練データ例He PRP B-NPreckons VBZ B-VPthe DT B-NPcurrent JJ I-NPaccount NN I-NPdeficit NN I-NPwill MD B-VPnarrow VB I-VPto TO B-PPonly RB B-NP# # I-NP1.8 CD I-NPbillion CD I-NPin IN B-PPSeptember NNP B-NP. .OHe PRP B-NPreckons VBZ B-VP..
1列目単語2列目品詞3列目ラベル
(学習したい
目標)第六十二页,共七十三页。素性テンプレート%x[i,j]現在の位置からの相対位置でi行目のj番目の列の要素を指す工夫した使い方組み合わせもできる
%x[-2,1]/%x[-1,1]//2つ前の品詞と1つ前の品詞の組み合わせ先頭のU/Bラベル情報Example中にあるテンプレートを使うと簡単です第六十三页,共七十三页。#UnigramU00:%x[-2,0]U01:%x[-1,0]U02:%x[0,0]U03:%x[1,0]U04:%x[2,0]U05:%x[-1,0]/%x[0,0]U06:%x[0,0]/%x[1,0]U10:%x[-2,1]U11:%x[-1,1]U12:%x[0,1]U13:%x[1,1]U14:%x[2,1]U15:%x[-2,1]/%x[-1,1]U16:%x[-1,1]/%x[0,1]U17:%x[0,1]/%x[1,1]U18:%x[1,1]/%x[2,1]U20:%x[-2,1]/%x[-1,1]/%x[0,1]U21:%x[-1,1]/%x[0,1]/%x[1,1]U22:%x[0,1]/%x[1,1]/%x[2,1]U30:%x[-2,2]U31:%x[-1,2]U32:%x[0,2]U33:%x[1,2]U34:%x[2,2]U35:%x[-2,2]/%x[-1,2]U36:%x[-1,2]/%x[0,2]U37:%x[0,2]/%x[1,2]U38:%x[1,2]/%x[2,2]U40:%x[-2,2]/%x[-1,2]/%x[0,2]U41:%x[-1,2]/%x[0,2]/%x[1,2]U42:%x[0,2]/%x[1,2]/%x[2,2]U50:%x[0,1]/%x[0,2]#BigramBCRF++の日本語固有表現のテンプレート例U=ラベル1個B=ラベル2個の組み合わせ第六十四页,共七十三页。固有表現を作ってみる(1/4)CRF++をダウンロードしてくる>tarxvzfCRF++-0.51.tar.gz>cdCRF++-0.51;./configure;make;(makeinstall)>cdexample/JapaneseNE>./exec.sh
学習とテストをしてくれる>../../crf_learn-f3-c4.0templatetrain.datamodel>../../crf_test-mmodeltest.data
実際にモデルを適用する第六十五页,共七十三页。固有表現を作ってみる(2/4)自分で1から作るならmecabなどと組み合わせてやる西東京名詞,固有名詞,地域,一般,*,*,西東京,ニシトウキョウ,ニシトーキョー市名詞,接尾,地域,*,*,*,市,シ,シは助詞,係助詞,*,*,*,*,は,ハ,ワ暑い形容詞,自立,*,*,形容詞・アウオ段,基本形,暑い,アツイ,アツイです助動詞,*,*,*,特殊・デス,基本形,です,デス,デスね助詞,終助詞,*,*,*,*,ね,ネ,ネEOS使えそうな最初の2つをくっけるプログラムを作る八丁堀 名詞-固有名詞-地域 O店 名詞-接尾-一般 O【 記号-括弧開-* O八丁堀 名詞-固有名詞-地域 O】 記号-括弧閉-* O17 名詞-数-* O時 名詞-接尾-助数詞 O〜 記号-一般-* O翌 接頭詞-数接続-* O第六十六页,共七十三页。固有表現を作ってみる(3/4)正解データを頑張って作る 100例ぐらい作れば結構いい精度出る八丁堀名詞-固有名詞-地域Oで助詞-格助詞-一般O連日名詞-副詞可能-*O人気名詞-一般-*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟保洁公司合同范本
- 2024年盐城市滨海县招聘教师考试真题
- 农村房屋共建合同范例
- 2024年梧州市龙圩区招录公益性岗位人员考试真题
- 公司之间供货合同范本
- 动产转让合同范本
- 2024年普洱市墨江县教体系统所属事业单位紧缺招聘考试真题
- 2024年绵阳市投资控股有限公司招聘笔试真题
- 第12课 宋元时期的都市和文化(教学设计)七年级历史下册同步备课系列(部编版)
- 做代理合同范本
- 中国传媒大学全媒体新闻编辑:案例教学-课件-全媒体新闻编辑:案例教学-第7讲
- 生理学泌尿系统6学时课件
- PySide学习教程
- 数据结构英文教学课件:chapter1 Introduction
- 人教三年级数学下册表格式全册
- 事业单位综合基础知识考试题库 综合基础知识考试题库.doc
- 优秀教研组评比制度及实施细则
- 物业交付后工程维修工作机制
- 农作物病虫害专业化统防统治管理办法
- JJF 1752-2019全自动封闭型发光免疫分析仪校准规范(高清版)
- GB 1886.300-2018 食品安全国家标准 食品添加剂 离子交换树脂(高清版)
评论
0/150
提交评论