素性構造(そせいこうぞう、: Feature structure)とは、一般化句構造文法主辞駆動句構造文法語彙機能文法といった形式文法において、属性(素性)と値の対の集合を意味する。例えば、「」という属性には「単数形」という値が対応する。属性値は不可分(LISPのアトムのようなもの、前述の「単数形」というシンボルなど)なものと、構造を持つもの(より一般的であり、素性構造のリストや集合である)がある。

素性構造は有向非環状グラフ (DAG) で表すことができ、ノードが値に対応し、そのノードまでの経路が属性名(素性)に対応する。素性構造に対して定義されている操作(例えばユニフィケーション)は句構造文法でよく使われる。多くの理論(例えばHPSG)では厳密に言えば、それら操作は素性構造を記述している式に対して定義されるものであって、素性構造そのものに対するものではない。しかし、大雑把な説明では単に素性構造の操作とされる。

素性構造は例えば次のように書かれる。

この例では2つの素性(feature)、categoryagreement がある。category の値は noun phrase(名詞句)、agreement の値は別の素性構造になっており、素性 numberperson のそれぞれの値が singular(単数形)と third(三人称)になっている。このような記法を「属性値行列(attribute value matrix、AVM)」と呼ぶ。属性値行列には2つの列があり、1つ目は素性名、もう一方が値である。従って、素性構造はキーと値の対のリストと見ることもできる。値は不可分な場合と別の素性構造になっている場合がある。そこで、別の記法として木構造で素性構造を記述することもできる。実際、システムによっては素性構造をS式で表している(例えばPC-PATR)。