Googleの自然言語APIから生成されたかなり複雑な配列を持っています。私はそれにテキストの段落を与え、その段落に関する多くの言語情報が出てくる。FORループがたくさんない複雑な配列からデータを抽出する
私の最終目標は、この段落から「キーワード」を見つけることです。これを達成するためには、すべての「エンティティ」をフラットな配列に入れ、重複を数え、最大量の単語を考慮したい重複して "キーワード"となる。もしそれが見つからなければ、チェリーは最も重要だと考える主体からの言葉を選びます。私はすでにが存在する可能性の実体を知って
:
var entities = [
'art',
'events',
'goods',
'organizations',
'other',
'people',
'places',
'unknown'
];
をここでは、私が働いているのアレイの構成例です。
input = [
{
language: {
entities: {
people: [
{
name: "Paul",
type: "Person",
},
{
name: "Paul",
type: "Person",
},
],
goods: [
{
name: "car",
type: "Consumer_good",
}
], //etc
}
}
}
];
output = ["Paul", "Paul", "car"...];
私の質問は - FORループの全体の束を使用してせず、その後の重複を見つけるために、フラットな配列に私の最初の配列を変換するための最良の方法は何ですか?
オブジェクトのメイン配列を1つのループで移動します。そのプロパティを配列にするよう依頼してください。それをループし、結果配列のindexOfでない場合は結果配列にアイテムをプッシュします。 – fubbe