7

Stanford CoreNLPを使用して測定値を取得しようとしています。(別のエクストラクターを提案できる場合は、それも問題ありません。)

たとえば、15kg15 kg15.0 kg15 kg15 lbs15 lbsなどを見つけたいのですが、CoreNLPs 抽出ルールの中で、測定用のものは見当たりません。

もちろん、純粋な正規表現でこれを行うこともできますが、ツールキットはより高速に実行でき、より高いレベルでチャンクする機会を提供します。たとえば、gbギガバイトを一緒に扱い、RAMメモリをビルディング ブロックとして扱います。構文解析 - 128 GB RAM8 GB メモリなどのより大きなユニットを構築するため。

これには機械学習ベースではなく、ルールベースのエクストラクタが必要ですが、RegexNerなどの一部としては見当たりません。どうすればいいですか?

IBM Named Entity Extractionはこれを行うことができます。正規表現は、テキストをそれぞれに渡すのではなく、効率的な方法で実行されます。また、正規表現は意味のあるエンティティを表現するためにバンドルされています。たとえば、すべての測定単位を 1 つの概念にまとめたものなどです。

4

2 に答える 2

6

この特定のタスクには、ルールベースのシステムは存在しないと思います。ただし、TokensregexNER で作成するのは難しくありません。たとえば、次のようなマッピング:

[{ner:NUMBER}]+ /(k|m|g|t)b/ memory?   MEMORY
[{ner:NUMBER}]+ /"|''|in(ches)?/       LENGTH
...

バニラの TokensRegex も使用してみて、キャプチャ グループを使用して関連する値を抽出することができます。

(?$group_name [{ner:NUMBER}]+) /(k|m|g|t)b/ memory?
于 2015-12-23T22:09:03.733 に答える
2

独自のトレーニング データを作成し、それに応じて必要な測定値にラベルを付けることができます。

たとえば、次のような文がある場合Jack weighs about 50 kgs

したがって、モデルは入力を次のように分類します。

ジャック、PERSON の
重さ、O
について、O
50、MES
kgs、MES

測定MES値を表します。

最近Stanford NER tagger、カスタマイズした問題のトレーニング データを作成し、そのモデルを構築しました。

Stanford CoreNLP NERあなたも同じことができると思います

これはmachine learning-basedアプローチではなくアプローチrule-basedかもしれません

于 2015-12-23T10:16:49.033 に答える