Monday, March 29, 2004

Parent-Child relation --- useless?

It seems that Parent-Child relations should not be implemented in the core of PCnous.
It seems that Reason-Consequence relations are good enough for keeping all relationships between concepts.
Sibling (synonyms) search can be accomplished any time when it's necessary. Sibling search can be accomplished based on reason-consequence relations (cause-effect relations).

Reader prototype: Current status

1) Find statement in the text.
2) FindWords in a statement (and add them to WordDictionary).
3) FindPhrases in a statment (and add them to PhraseDictionary).
4) FindTextPairs (and add them to TextPairDictionary).

Not implemented:
1) Short memory.
2) Merge Method (which merges the Short Memory and the Main Memory)
3) Reason-Consequence relations
5) Forgetting process.
6) HTML parser/reader which will allow to find and to read big amount of information.

Monday, March 22, 2004

Why does Chatter need for TextPairs?

Question: What are TextPairs for? I read text pairs description and do not understand why you divide a sentence in such a way.

I divide a sentence into: words and phrases.

But in order to remember "how correct natural language sentence looks like" I also
remember typical text pairs.

Text pairs are like the links in the chain.

TextPair table will help TextWriter to build sentence in a correct

Please, ask me more if it is not clear.

Text pairs

For 3 words sentence there will be 6 text concepts.
3 words and 3 phrases.

3 TextPairs will be found:
word1 -> word2
word1 -> phrase2
word2 -> word3

For 10-words sentence there will be
10 words
9 two-word phrases
8 three-word phrases
7 four-word phrases
6 five-word phrases
(I don't consider phrases longer than 5 words)
Total: 40 Text copcepts in the TextConcept collection

There will be maximum 5 text concepts with the same "StartingPosition" key.

TextPairs search

Well, here is the task:

Sentence consists of words.
For instance, "Word1 word2 word3".
Words are grouped by phrases.
For example:
phrase1 = "Word1 word2"
phrase2 = "Word2 word3"
phrase3 = "Word1 word2 word3"

I consider both words and phrases as
text concepts.

Every text concept has a "start position" and an "next position".

I'm going to use "start position" as the key for text concept in the

As you can see, text concept "word2" has start position = 2
Text concept "phrase2" has start position = 2. That is the same with
"word2". That means duplication.

Original task is to find all text pairs in the specified sentence.

Any suggestions?

Monday, March 22, 2004, 10:54:33 AM, you wrote:

AIR> There is no type in .NET that can have multiple values with the same key.
AIR> But you can write your own class derived from DictionaryBase. There is an
AIR> example in MSDN how to do this. If you tell me more about your task and
AIR> conditions (how many items you expect to store and how many of them are
AIR> stored with the same key) I can help you to write this class :)

Dictionary base example (MSDN)

Dictionary base example