余談ですが、あるドメインに頻出する単語を新しく辞書に追加する際、生起コストを自動推定しても実際よりも高くなることがあるはずです。モデルはどの品詞が出現しやすいか、どの文字種が出現しやすいか、どの原形が出現しやすいか等の情報を保持していますが、新しく追加する単語の原形などの出現しやすさについての情報を持っていないからです。個人的には、自動推定するよりも、同じぐらいの頻度で出現すると思われる単語の生起コストを新しく追加する単語に割り当てる方が確実だと思います。それでは、モデル化からコストの算出まで説明していきます。使ってモデル化しています。系列ラベリングの一手法で、系列データが与えられると対応する系列ラベルを出力します。場合、入力の系列データは単語分割済みの文字列の配列、出力は品詞情報などを保持したオブジェクトの配列です。モデルは次の式で表すことができます。φは素性関数で詳細は後述します。するための正規化項です。組み合わせに対し、正則化項も追加して次の目的関数を最小とするパラメータαを求め、αの値を基にコストを決定しています。モデルを再学習させることもできますが、その場合の目的関数は次のようになっています。これは、元のモデルのパラメータから変化量が大きいと損失が大きくなるので、元のモデルをできる限り変化させないように最適化することを意味しています。L-BFGS(準ニュートン法の一種)で解を求めています。依存しないことを仮定しています。よって、と表すことができます。内容は素性テンプレートと呼ばれます。前の単語に依存する素性)が定義されています。ここで、例として素性テンプレートが次の場合を考えます。処理対象の単語(右側の単語)の1番目の素性を意味しています。出力と同じ形式のものを用意します。左の列が表層形で右の列が単語の素性です。み、発音になっています。動詞,自立,*,*,五段・マ行,基本形,住む,スム,スムEOS処理対象が「住む」の場合、素性テンプレートとテンプレートを基に生成される素性は次のとおりです。素性テンプレートから生成された素性から、素性関数は次のように定義できます。属する素性関数を使って次のように算出されます。属する素性関数を使って次のように算出されます。連接コストは品詞の情報しか考慮されていないことになります。よって、本エントリーでは連接コストのことを品詞の連接コストと呼んでいました。どのように形態素解析しているかについて説明しました。本エントリーを通じて、自然言語処理を応用した各種サービスの精度向上に少しでも貢献できれば幸いです。研究開発部のサウラブ(bira)です。使ったセキュリティログ検索基盤の構築サービス特性にあった検索システムの設計戦略クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。/*}*/スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。