Предполагая, что вы можете загрузить свои данные в Mathematica в форме, которую вы обрисовали, очень простая вещь - создать хеш-таблицу, где ваши триграммы будут (составными) ключами. Вот ваш образец (часть, которую вы дали):
trigrams = {{{"wa", "wa", "wa"}, 66}, {{"i", "love", "you"}, 62},
{{"la", "la", "la"}, 50}, {{"meaning", "of", "life"}, 42},
{{"on", "come", "on"}, 40}, {{"come", "on", "come"}, 40},
{{"yeah", "yeah", "yeah"}, 38}, {{"no", "no", "no"}, 36},
{{"we", "re", "gonna"}, 36}, {{"you", "love", "me"}, 35},
{{"in", "love", "with"}, 32}, {{"the", "way", "you"}, 30},
{{"i", "want", "to"}, 30}, {{"back", "to", "me"}, 29},
{{"of", "an", "xke"}, 1}};
Вот один из возможных способов создания хеш-таблицы:
Clear[trigramHash];
(trigramHash[Sequence @@ #1] = #2) & @@@ trigrams;
Теперь мы используем его как
In[16]:= trigramHash["meaning","of","life"]
Out[16]= 42
Этот подход будет полезен, если вы, конечно, выполняете много запросов.
EDIT
Если у вас много файлов и вы хотите эффективно выполнять их поиск в Mathematica, вы могли бы использовать вышеупомянутый механизм хеширования для преобразования всех ваших файлов в .mx
двоичные файлы Mathematica. Эти файлы оптимизированы для быстрой загрузки и служат механизмом сохранения для определений, которые вы хотите сохранить. Вот как это может работать:
In[20]:= DumpSave["C:\\Temp\\trigrams.mx",trigramHash]
Out[20]= {trigramHash}
In[21]:= Quit[]
In[1]:= Get["C:\\Temp\\trigrams.mx"]
In[2]:= trigramHash["meaning","of","life"]
Out[2]= 42
Вы используете DumpSave
для создания файла .mx
. Итак, предлагаемая процедура состоит в том, чтобы загрузить ваши данные в Mathematica, файл за файлом, создать хэши (вы можете использовать SubValues
для индексации конкретной хеш-таблицы с индексом вашего файла), а затем сохранить эти определения в .mx
файлы. Таким образом, вы получаете быструю загрузку и быстрый поиск, и у вас есть свобода выбора, какую часть ваших данных сохранять в Mathematica в любой момент времени (практически без снижения производительности, обычно связанного с загрузкой файлов).