文字列が数学かどうかを検出できるようにしたい。
数学的に真と評価される文字列は"2"
、"42000"
、"-10"
、"-55.22"
、"forty-two"
、"fifty six"
、"negative ninety nine"
および"negative one point seven"
.
そして、それは数値的および数学的なものではないため"negative two times seven"
、 、または"two plus two"
、または"3 plus two"
、または"two - 1"
、または"2 ^ 7"
合格します。
基本的に数字の綴り、所有数の綴り ( 1番目、13番目、1000"plus"
番目)と単語、、、、、、、、、、、、、、、"negative"
"positive"
"minus"
"subtracted"
"from"
"times"
"multiplied"
"by"
"divided"
"over"
"point"
"to"
"the"
"power"
"of"
"and"
"raised"
これらの例のいずれとも異なる場合、関数は false を返します。
これを行うために機械学習/NLP を使用することは適切ですか? これを行うには、NLP / 機械学習よりも良い方法はありますか?
これを実行できる既存のスクリプトまたは関数はありますか?
そうでない場合、 NLPToolsまたはPHP NLP ツールを使用してこれを行うにはどうすればよいですか?